web-dev-qa-db-fra.com

Exécuter réactif natif sur un émulateur Android

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é:

  1. react-native start
  2. react-native run-Android

Le même résultat.

Ensuite j'ai essayé:

  1. react-native bundle --entry-file index.Android.js --platform Android --bundle-output Android/app/src/main/assets/index.Android.bundle

  2. curl "http://localhost:8081/index.Android.bundle?platform=Android" -o "Android/app/src/main/assets/index.Android.bundle"

  3. 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?

24
alborozd

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: 

  1. Veuillez installer les SDK requis comme indiqué dans cette figure. 

Configure Required SDKsConfigure Required SDKs

  1. 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 à 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)
  2. Vous devez au moins avoir installé la même 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.

34
Rizwan Jamal

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
6
Elton Jain

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.

2
Rowinson Gallego

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

1
Vincent Nguyen

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:

  • "Android SDK Build-Tools .."
  • "Emulateur Android"
  • "Outils de plate-forme SDK Android"
  • "Outils de SDK Android"

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".

1
Edelfix

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é

1
Allen Paul

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.

0
Emil Mammadov