Exécuter react-native sur l'émulateur android
j'essaie de lancer react-native app sur genymotion android emulator sur mon mac.
Quand j'écris react-native run-android
devient
Running /usr/local/opt/android-sdk/platform-tools/adb reverse tcp:8081 tcp:8081
error: closed
Could not run adb reverse: Command failed: /usr/local/opt/android-sdk/platform-tools/adb reverse tcp:8081 tcp:8081
Building and installing the app on the device (cd android && ./gradlew installDebug...
Could not install the app on the device, read the error above for details.
Make sure you have an Android emulator running or a device connected and have
set up your Android development environment:
https://facebook.github.io/react-native/docs/android-setup.html
MacBook-Pro-MacBook:ART-CarefulPeople macbook$
Alors j'ai essayé:
react-native start
react-native run-android
Le même résultat.
Alors j'ai essayé:
react-native bundle --entry-file index.android.js --platform android --bundle-output android/app/src/main/assets/index.android.bundle
curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"
react-native run-android
sur Le même résultat.
j'ai essayé juste adb reverse tcp:8081 tcp:8081
et il dit error: closed
quand j'essaie d'exécuter l'application sur l'émulateur android-sdk il obtient la même erreur au-dessus mais sans error: closed
.
depuis android studio, je peux lancer cette application et elle fonctionne sur genymotion. Dites-moi s'il vous plaît que dois-je faire pour lancer mon application sur android emulator?
6 réponses
j'ai eu un problème similaire, et après avoir passé tellement de temps et beaucoup de recherche sur cette question la seule astuce a fonctionné pour moi:
- veuillez installer les SDK nécessaires comme indiqué dans cette figure
- si vous l'avez déjà installé, vous devez donc mettre à jour les SDK suivants:
Android SDK Tool
(mise à jour à la dernière version)Android SDK Platform-tools
(mise à jour pour la dernière version)Android SDK Build-tools
(mise à jour à la dernière version)Android Support Repository
Extra
dossier (mise à jour à la dernière version)
- Vous Devez avoir au moins Installé la Même version
Android API
comme installéAndroid SDK Build-tools
&Android SDK Platform-tools
version comme indiqué dans leConfigure Required SDKs
figure ci-dessus.
Remarque: Local Maven repository for Support Libraries qui est répertorié comme L'exigence SDK dans le les docs officiels de React-native sont maintenant nommés comme dépôt de Support Android dans le SDK Manager .
j'ai eu un problème similaire avec l'émulateur d'android studio à chaque fois, ou sur un appareil physique. Au lieu de cela, vous pouvez rapidement lancer l'émulateur android à partir de la ligne de commande,
android avd
une fois l'émulateur en marche, vous pouvez vérifier avec adb devices
si l'émulateur.
Alors vous pouvez simplement utiliser
react-native run-android
pour exécuter l'application sur l'émulateur.
assurez-vous d'avoir installé les outils de la plate-forme pour pouvoir utiliser adb
. Ou vous pouvez utiliser
brew install android-platform-tools
Il m'est arrivé d'avoir un exemple du packager tournant avec un vieux projet (j'ai couru réagir indigènes start comme d'habitude). J'ai été en utilisant Ubuntu 14.04. Donc ce que j'ai fait c'est d'arrêter cette instance et d'aller dans mon dossier de projet et dans deux onglets de console différents j'ai lancé ces deux commandes séparément:
npm start #here I used to run react-native start
react-native run-android
npm start est défini dans mon paquet.json comme:
"start": "node_modules/react-native/packager/packager.sh"
Je ne sais pas s'il y a une sorte de truc confus pour réagir indigènes, mais qui a fait le tour.
avait un problème similaire. J'ai mis à jour mon Genymotion et mes SDK/bibliothèques/dépendances android et tout semble fonctionner. Pour mettre à jour mes SDK j'ai utilisé android sdk manager {ANDROID_SDK_FOLDER}/tools/android sdk
sur Windows 10 et Android Studio, vous pouvez aller dans Android Studio à "Fichier" - > " Paramètres "dans les paramètres puis à" Apparence et Comportement "- > "Paramètres Système" - > "SDK Android". Dans l'onglet "Outils SDK" actif:
- "version du SDK Android-Outils .."
- "Émulateur Android"
- "Android SDK Plattform-Tools"
- "Android SDK Tools"
si tout est installé, vous pouvez démarrer L'émulateur dans Android Studio Avec "Outils" - > " Android" - >"AVD Manager". Si l'Émulateur exécuter, vous pouvez essayer de "réagir indigènes de l'exécution android"
secouez votre téléphone et accédez à Dev Setings alors allez à Débogage du serveur hôte et le port pour périphérique puis écrivez l'adresse ip de votre pc et du port où vous vous êtes connecté. exemple 192.168.9.2:8081
C'est la solution finale et la meilleure.