Essayer de créer un projet natif de réaction sur Android 4.4.2 J'obtiens cet écran d'erreur
et ne pouvait trouver aucun moyen de le résoudre. J'ai essayé de redémarrer le packager, de reconnecter l'appareil, même de réinstaller React native et de démarrer un nouveau projet. Sur les versions 6.0.0 et ultérieures, cela fonctionne très bien.
android
react-native
Zygro
la source
la source
react-native run-android
? J'obtiens l'erreur dans ce cas, ce qui est étrange car en mode débogage, il ne devrait pas être nécessaire d'utiliser le bundle JS afaik car il est censé se connecter au serveur de packages.Réponses:
Une solution possible pour cela est que vous ne regroupez probablement pas d'abord votre application, effectuez les étapes suivantes, puis déployez votre app-debug.apk sur votre appareil
(si le dossier
assets
n'existe pas, créez-le)Puis exécutez à partir de la racine du projet
installez l'apk créé sur votre appareil, à partir de l'emplacement:
android/app/build/outputs/apk/app-debug.apk
faites-moi savoir si cela résout votre problème
MODIFIER :
Vous pouvez simplement le mettre dans votre package.json en tant que script pour l'automatiser, je pense qu'il sera corrigé dans les prochaines versions de react-native et sera exécuté avant d'assembler l'APK final, donc cela ne sera pas nécessaire (j'espère ainsi que)
mettre:
ou comme mentionné l'équivalent curl, mais dans la plupart des cas, ce qui précède est plus robuste
la source
Je suis également tombé sur ce problème. Ce que j'ai fait, c'est de forcer l'application sur mon appareil, puis j'ai ouvert une autre console et j'ai couru
puis j'ai rouvert l'application à partir de mon appareil et elle a recommencé à fonctionner.
EDIT: Si vous utilisez un appareil Android via USB et que vous l'avez débranché ou que votre ordinateur s'est mis en veille, vous devrez peut-être d'abord exécuter
la source
react-native run-android
. Utiliserreact-native start
n'était jamais nécessaire pour moi quand je faisaisreact-native run-ios
adb reverse tcp:8081 tcp:8081
me suffisait en soi. Merci beaucoup!J'ai juste cette erreur. Voici ce que j'ai fait pour réparer: j'ai sélectionné
Dismiss
, je suis allé dans le menu Développeur, puisDev Settings
, choisissezDebug server host & port for device
, j'ai ajouté l'adresse IP et le port de mon ordinateur:,192.168.0.xx:8xxx
utilisez l'adresse IP attribuée aux machines de développement sur votre réseau wifi. Le port est généralement:8081
Une fois que j'ai fait cela, tout s'est bien passé. De plus, pendant que vous êtes dans le menu de développement, n'oubliez pas de sélectionner
Enable Live Reload
etDebug JS Remotely
, cela vous rend la vie beaucoup plus facile lors du débogage.la source
ifconfig
, puis recherchez inet addr: xxx.xxx.xxx.xxx où xxx * est l'C'est ce qui a fonctionné pour moi (après avoir essayé toutes les autres solutions que j'ai trouvées ...):
Courir à l'
adb reverse tcp:8081 tcp:8081
intérieur\Android\sdk\platform-tools
la source
react-native run-android
tente d'exécuter cette commande et dépend de la variable d'environnement Windowspath
pour contenir leplatform-tools
chemin.J'ai également eu cela lorsque j'ai commencé pour la première fois avec React Native, en utilisant un appareil physique. Si tel est le cas, vous devez faire des choses supplémentaires avant de pouvoir commencer. Vous devez entrer des informations sur votre machine de développement dans les `` Paramètres de développement '' de React Native.
Lorsque vous voyez l'erreur, secouez votre appareil . Une boîte de dialogue apparaîtra, la dernière option sera «Paramètres de développement». Sélectionnez «Debug server hot & port for device» et entrez votre adresse IP locale et le port utilisé (généralement 8081).
Voir le dernier paragraphe de https://facebook.github.io/react-native/docs/running-on-device-android.html
la source
Si aucune solution ne fonctionne pour vous, essayez ceci:
J'ai trouvé que mon
<root>/android/app/build/intermediates/assets/debug
dossier était vide et qu'en cours d'exécution, jecd android && ./gradlew assembleDebug
ne créais pas les fichiers requis, qui sont ensuite utilisés par le fil javascript dans nos applications natives de réaction.J'ai exécuté manuellement la commande suivante que la commande debug build aurait dû créer idéalement.
Après avoir exécuté ces commandes, j'ai trouvé deux fichiers bundle dans ce répertoire
<root>/android/app/build/intermediates/assets/debug
Et puis j'ai relancé
cd android && ./gradlew installDebug
mon application a recommencé à fonctionner.Déboguera davantage et mettra à jour ce qui échoue réellement.
la source
Dans un terminal séparé , connectez votre appareil à l'ordinateur et exécutez les commandes suivantes:
Terminal d' application :
la source
Il est un peu trop tard mais cela fonctionne vraiment pour moi.
react-native run-android
.react-native start
.La première commande va construire
apk
pour Android et la déploiera sur votre appareil s'il est connecté. Lorsque vous ouvrez l'application, un écran rouge s'affiche avec une erreur. Ensuite, exécutez la deuxième commande qui exécutera le packager et créera le bundle d'applications pour vous.la source
Essayez cette commande dans le terminal, puis rechargez. Ça a marché pour moi
adb inverse tcp: 8081 tcp: 8081
la source
voir issue :
1. démarrage natif de réaction
2. cliquez
Reload(R,R)
sur votre appareil.la source
react-native run-android
la source
restart the genymotion
? Ty campagnol.J'avais la même exception sur l'appareil Z3 Compact D5803 - 6.0.1
J'ai ouvert le fichier .buckconfig et changé la ligne:
target = Google Inc.:Google APIs:23
à
target = Google Inc.:Google APIs:24
Parce que j'ai vu dans SDK Manager qu'Android 6.X a le niveau api 24.
la source
Pour moi, c'est parce que
adb
n'était pas dans lePATH
. Il est situé/Users/man/Library/Android/sdk/platform-tools
pour moi, il peut être ailleurs pour vous, mais de toute façon, trouvez-le et ajoutez-le à votre chemin pour voir si cela vous aide.la source
Puisque vous utilisez Android <5.0, vous ne pouvez pas utiliser la
adb reverse
méthode par défaut , mais Facebook a ajouté une documentation officielle pour vous connecter au serveur de développement via Wi-Fi , qui prendrait en charge votre version. Citant les instructions pour MacOS, mais ils les ont également pour Linux et Windows:la source
Il y avait ce problème "au hasard" et il m'a fallu un certain temps pour réaliser ce qui n'allait pas dans mon scénario.
Après avoir mis à jour vers React-native-cli 2.0.1, il y avait une sortie de message dans le journal qui m'a aidé à creuser et à trouver la cause première:
Après avoir recherché quelques liens, j'ai trouvé celui-ci:
Impossible de reconnaître le serveur JS
Depuis que je suis sous Windows, j'ai lancé netstat et j'ai découvert que mon lecteur VLC fonctionnait également sur le port 8081 à l'origine du problème. Donc, dans mon cas, si je démarrais le serveur vlc avant le serveur react-native, cela ne fonctionnerait pas.
Ce même message de journal n'était pas affiché sur les versions précédentes de react-native-cli, ce qui le faisait échouer silencieusement.
TL, DR: vérifiez si quelque chose tourne sur le même port que le gestionnaire de paquets (8081 par défaut)
la source
Mon problème était que j'avais parcouru mon
AndroidManifest.xml
fichier et j'avais supprimé la ligne<uses-permission android:name="android.permission.INTERNET" />
car mon application n'aura pas besoin d'Internet. Cependant, l'application de débogage native react a besoin d'un accès Internet (pour accéder au packager). :)
la source
Essayez de nettoyer le cache
la source
Veuillez vérifier si vous rencontrez l'erreur suivante lorsque vous exécutez
react-native run-android
:adb server version (XX) doesn't match this client (XX); killing...
Dans ce cas, assurez-vous
/usr/local/opt/android-sdk/platform-tools/adb
et/usr/local/bin/adb
dirigez-vous vers le mêmeadb
Dans mon cas, l'un a été pointé vers
/Users/sd/Library/Android/sdk/platform-tools/adb
(Android SDK), mais un autre a été pointé vers/usr/local/Caskroom/android-platform-tools/26.0.2/platform-tools/adb
(Homebrew)Et le problème a été résolu après les deux pointés
/Users/sd/Library/Android/sdk/platform-tools/adb
(Android SDK)la source
J'ai aussi cette erreur, vraiment confuse. cuz toutes les réponses ne fonctionnent pas. Juste après ajouter adb au chemin.
la source
Pour moi, la synchronisation latérale était activée et active. Le fermer immédiatement a fait disparaître le problème. Cela peut valoir la peine de fermer cette communication ou toute autre communication entre le PC et l'appareil
la source
J'ai fini par devoir ouvrir le port que j'utilisais (8081 par défaut). Sous Linux, vous pouvez effectuer les opérations suivantes
Vous pouvez tester pour voir si vous avez réellement besoin de le faire. Accédez simplement à votre serveur de développement dans Chrome sur votre appareil Android. S'il ne répond pas, c'est peut-être ce dont vous avez besoin. S'il répond, cela ne vous aidera pas.
la source
Ma façon est:
Après cela dans votre appareil en utilisant:
Voir dans la console react-native, ce sera récupérer les données du bundle js.
la source
J'ai eu le même problème. Lorsque j'ai créé un projet natif de réaction via l' application AwesomeProject create-react-native-app, cela fonctionnait bien dans l'application Expo sur téléphone. Après cela, j'ai voulu utiliser ce projet de démarrage rapide pour développer mon projet et j'ai eu la même erreur que vous.
Après quelques recherches, je découvre qu'il est préférable de démarrer un nouveau projet avec réact-native init AwesomeProject (avec tous les paramètres dans les documents react native), puis exécutez cette commande:
Cela devrait résoudre le problème avec bundle (--dev false n'affiche pas d'avertissements)
Tout ce que vous devez faire pour que l'application s'exécute sur votre appareil virtuel / réel est:
Et cela devrait fonctionner très bien. Au moins ça a marché pour moi.
la source
Pour moi, le problème était que «adb» n'était pas reconnu - cochez cette réponse.
Pour résoudre ce problème, ajoutez C: \ Users \ USERNAME \ AppData \ Local \ Android \ sdk \ platform-tools aux variables d'environnement
la source
La plupart d'entre nous sont confrontés à ce problème pour la première fois, lorsque nous commençons à réagir au projet natif n ° 1.
Quelques étapes simples ont résolu mon problème:
J'ai créé un exemple de projet à l'aide de la commande:
Solution
Le correctif est d'aider
local-cli\runAndroid\adb.js
à trouveradb.exe
, de la même manière quelocal-cli\runAndroid\runAndroid.js
:trouver l'instruction replace sous projectname (tout ce que vous avez donné)
\node_modules\react-native\local-cli\runAndroid
Remplacer:
Par:
après avoir effectué le remplacement ci-dessus, exécutez simplement react-native run-android dans votre cmd, il regroupera apk et essaiera d'abord d'installer le bundle js localement sur votre appareil. (J'ai du succès)
la source
J'ai essayé de nombreuses suggestions ci-dessus / ci-dessous, mais en fin de compte, le problème auquel j'ai été confronté était celui des autorisations avec watchman, qui avait été installé à l'aide de homebrew plus tôt. Si vous regardez les messages de votre terminal tout en essayant d'utiliser l'émulateur et que vous rencontrez des erreurs «Autorisation refusée» en ce qui concerne watchman avec ce message «Impossible d'obtenir BatchedBridge» sur votre émulateur, procédez comme suit:
Accédez à votre
/Users/<username>/Library/LaunchAgents
répertoire et modifiez les paramètres d'autorisations afin que votre utilisateur puisse lire et écrire. Cela est indépendant du fait que vous ayez ou non uncom.github.facebook.watchman.plist
fichier.la source
J'ai trouvé que je devais également ajouter un
pour que l'application s'exécute correctement.
la source
J'ai eu le même problème mais c'était une erreur stupide de ma part ...
Depuis le studio Android , je
installDebug/installRelease
lançais un script gradle à partir d'unapp
projet plutôt que d'unroot
projet.la source
Le moyen le plus simple!
Vous êtes prêt à partir!
la source
Redémarrez simplement votre système ou votre ensemble complet et le problème peut être résolu.
la source