J'essaie de faire fonctionner une application native sur l'émulateur Android genymotion sur mon mac . Quand j'écris react-native run-Android
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$
Ensuite j'ai essayé:
react-native start
react-native run-Android
Le même résultat.
Ensuite 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
Le même résultat.
J'ai juste essayé adb reverse tcp:8081 tcp:8081
et il est écrit error: closed
Lorsque j'essaie d'exécuter une application sur un émulateur Android-sdk, l'erreur ci-dessus est générée, mais sans error: closed
.
Depuis le studio Android, je peux exécuter cette application et cela fonctionne sur genymotion. Dites-moi s'il vous plaît que dois-je faire pour exécuter mon application sur l'émulateur Android?
J'ai eu un problème similaire et après avoir passé tant de temps et beaucoup de recherches sur ce sujet, le seul truc qui a fonctionné pour moi:
Android SDK Tool
(mise à jour à la dernière version)Android SDK Platform-tools
(mise à jour à la dernière version)Android SDK Build-tools
(mise à jour à la dernière version)Android Support Repository
sous le dossier Extra
(mettez-le à jour avec la dernière version)Android API
que la version Android SDK Build-tools
& Android SDK Platform-tools
installée, comme indiqué dans la figure Configure Required SDKs
ci-dessus.Remarque: Le référentiel Maven local pour les bibliothèques de support répertorié comme condition requise du SDK dans la documentation officielle de React-native s'appelle désormais Référentiel de support Android dans le SDK Manager.
J'avais un problème similaire avec l'émulateur d'Android Studio à chaque fois ou sur un périphérique physique. Au lieu de cela, vous pouvez exécuter rapidement l’émulateur Android à partir de la ligne de commande,
Android avd
Une fois que l'émulateur est en cours d'exécution, vous pouvez vérifier avec adb devices
s'il apparaît . Ensuite, vous pouvez simplement utiliser react-native run-Android
pour exécuter l'application sur l'émulateur.
Assurez-vous que les outils de la plateforme sont installés pour pouvoir utiliser adb
. Ou vous pouvez utiliser
brew install Android-platform-tools
Il m'est arrivé d'avoir une instance du conditionneur s'exécutant avec un ancien projet (j'ai lancé react-native start comme d'habitude). J'utilisais Ubuntu 14.04 . Donc ce que j'ai fait était d'arrêter cette instance et d'aller dans mon dossier de projet et dans deux onglets de console différents, j'ai exécuté 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 package.json as:
"start": "node_modules/react-native/packager/packager.sh"
Je ne sais pas s'il y a une sorte de substance déroutante pour réag-native mais cela a fait l'affaire.
Avait un problème similaire. J'ai mis à jour mon Genymotion et mes bibliothèques/dépendances SDK Android et tout semblait fonctionner. Pour mettre à jour mon SDK, j'ai utilisé Android sdk manager {Android_SDK_FOLDER}/tools/Android sdk
Sous Windows 10 et Android Studio, vous pouvez aller dans Android Studio dans "Fichier" -> "Paramètres" dans Paramètres puis sur "Apparence et comportement" -> "Paramètres système" -> "SDK Android" . Dans l'onglet " Outils SDK "actifs:
Si tous sont installés, vous pouvez démarrer l'émulateur dans Android Studio avec "Outils" -> "Android" -> "Gestionnaire AVD" . Si l'émulateur s'exécute, vous pouvez essayer "react-native run-Android".
Dans mon cas, cela se produisait car le fichier Android/gradlew ne disposait pas de l'autorisation d'exécution. Une fois accordé, cela a bien fonctionné
secouez votre téléphone et allez dans Paramètres de développement puis allez dans Serveur de débogage hôte et port pour périphérique puis écrivez l'adresse IP de votre ordinateur et le port où vous vous êtes connecté .Exemple 192.168.9.2 : 8081
C'est la solution finale et la meilleure.