J'essaie actuellement de faire fonctionner le serveur ES6 react-native-webpack-server sur un émulateur Android. La différence est que j'ai mis à niveau mon package.json
et build.grade
utiliser react 0.18.0
, et j'obtiens cette erreur au démarrage. Autant que je sache, il AppRegistry
est importé correctement. Même si je devais commenter le code, cette erreur se produit toujours. Cela fonctionne sur iOS sans problème.
Qu'est-ce que je fais mal?
EDIT: Après avoir essayé d'autres passe-partout qui prennent en charge la version 0.18.0, je rencontre toujours le même problème.
android
react-native
webpack
Dustin
la source
la source
One of the sources for assign has an enumerable key on the prototype chain.
Réponses:
Je viens de mettre à niveau pour réagir natif
0.18.1
aujourd'hui, ayant des problèmes de dépendance avec les pairs avec0.19.0-rc
la version préliminaire.De retour à votre question, ce que j'ai fait était
cd android
sudo ./gradlew clean
(plus d'informations sur le fonctionnement de la propreté ici )puis revenez au répertoire de travail et exécutez
react-native run-android
vous devez également redémarrer votre npm après cette mise à niveau.
J'espère que cela fonctionne pour toi.
la source
ANDROID_HOME
sur mon chemin. J'ai également ajouté lelocal.properties
fichier avecsdk.dir=
. Des idées?sudo ./gradlew clean
, il serait bon de mentionner que c'est une énorme opération qui apparemment re-télécharge et réinstalle toute la distribution gradle./Users/karim/Library/Android/sdk
J'ai eu le même problème sur iOS et la cause pour moi était que mon index.ios.js était incorrect (parce que j'ai copié-collé l'un des exemples sans regarder son contenu), il se terminait par une déclaration d'exportation de module
Au lieu de l'attendu
Vous pourriez avoir le même problème sur Android avec l'index.android.js je suppose.
la source
La seule raison principale de ce problème pourrait être l'endroit où vous auriez installé un plugin et oublié de le lier .
essaye ça:
Réexécutez votre application.
J'espère que cela aidera. S'il vous plaît laissez-moi savoir dans les commentaires . Merci.
la source
react-native link
sans nom de package est obsolète et sera supprimée dans la prochaine version.J'ai résolu ce problème simplement en ajoutant
à mon index.js
assurez-vous que cela existe dans votre index.js
la source
Pour moi, mon problème était de mettre le mauvais fichier d'entrée lors du regroupement.
J'utilisais App.js comme fichier d'entrée, donc l'application n'a pas pu trouver AppRegistry
Correct:
Incorrect:
la source
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android /app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
lançais la commande: tout fonctionnait, alors qu'à la place, si je publiais avec fastlane, l'application plantait avec cette erreur:Module AppRegistry is not a registered callable module (calling runApplication)
dans le build.gradle j'avais, probablement de la saleté, une entrée incorrecte Merci encore!J'espère que cela peut éviter à quelqu'un un mal de tête. J'ai eu cette erreur après la mise à niveau de ma version react-native. Confusément, il n'apparaissait que du côté androïde des choses.
Ma structure de fichiers comprend un
index.ios.js
et unindex.android.js
. Les deux contiennent le code:Ce que je devais faire était de
android/app/src/main/java/com/{projectName}/MainApplication.java
changerindex
pourindex.android
:Ensuite
app/build/build.gradle
, changez leentryFile
deindex.js
àindex.android.js
la source
Pour moi, le redémarrage de l'ordinateur l'a corrigé. (Mon erreur était "module appRegistry n'est pas un module appelable enregistré (appelant runapplication) moteur js: hermes")
Une autre réponse principale qui manque ici et qui aurait pu fonctionner était simplement de tuer les processus de nœud:
killall -9 node
[Le module AppRegistry n'est pas un module appelable enregistré (appelant runApplication) ]
la source
Je ne sais pas pourquoi, mais lorsque je déplace AppRegistry.registerComponent du fichier index.js inclus dans index.android.js pour résider directement dans index.android.js, cela semble fonctionner.
la source
Si vous utilisez certains des exemples, ils pourraient ne pas fonctionner
Voici ma version pour la vue de défilement
la source
Je l'ai désinstallé sur Genymotion. Ensuite, exécutez
react-native run-android
pour créer l'application. Et ça a marché. Essayez ceci avant de courirsudo ./gradlew clean
, cela vous fera gagner beaucoup de temps.la source
redémarrer le packager a fonctionné pour moi. il suffit de tuer le packager natif et de le relancer.
la source
si vous rencontrez cette erreur dans Windows avec Android
ouvrez votre dossier d'application de répertoire racine et déplacez-vous dans le dossier Android.
redémarrez votre application react-native run-android
bhooom ça marche
la source
Dans mon cas, my
index.js
pointe juste vers un autre js au lieu de mon Launcher js par erreur, qui ne contient pasAppRegistry.registerComponent()
.Alors, assurez-vous que le fichier votre
index.js
point pour enregistrer la classe.la source
Mon problème a été résolu en augmentant mes inotify max_user_watches:
la source
Pour moi, c'était un problème avec la dépendance react-native sur la prochaine version du package react, alors que dans mon package.json l'ancien était spécifié. La mise à niveau de ma version de réaction a résolu ce problème.
la source
Pour moi, je me suis lié à React Native comme suit: lien react-native
la source
npm start - --reset-cache
Le port est probablement déjà utilisé. Je suis confronté à un problème similaire lorsque je lance pour la première fois react-native run-android, puis npm start. Je le résous comme ceci: Tout d'abord, obtenez l'id du processus en cours d'exécution dans le port 8081: sudo lsof -i: 8081
la source
J'ai eu cette erreur dans Expo parce que j'avais exporté le mauvais nom de composant, par exemple
la source
J'ai résolu ce problème en procédant comme suit:
la source
Si vous utilisez la machine Windows que vous devez faire
cd android
ensuite./gradlew clean
puis exécutezreact-native run-android
la source