lorsque j'essaie d'exécuter npm start, cela fonctionne bien, mais quand j'essaie d'exécuter mon application par expo, le processus va jusqu'à 100% et après cela, rien ne se passe. Je n'obtiens pas le problème exact là-bas. J'ai des choses suivantes dans package.json .... veuillez m'aider à résoudre ce problème.
{
"name": "ProMeeting",
"version": "0.1.0",
"private": true,
"devDependencies": {
"jest-expo": "~29.0.0",
"react-native-scripts": "^1.14.0",
"react-test-renderer": "16.3.1"
},
"main": "./node_modules/react-native-scripts/build/bin/crna-entry.js",
"scripts": {
"start": "react-native-scripts start",
"eject": "react-native-scripts eject",
"Android": "react-native-scripts Android",
"ios": "react-native-scripts ios",
"test": "jest"
},
"jest": {
"preset": "jest-expo"
},
"dependencies": {
"@babel/preset-react": "^7.0.0-beta.56",
"expo": "^29.0.0",
"firebase": "^5.3.1",
"native-base": "^2.7.2",
"react": "16.3.1",
"react-native": "^0.55.4",
"react-native-firebase": "^4.3.8",
"react-native-vector-icons": "^5.0.0",
"react-navigation": "^2.11.2"
}
}
Il semble qu'il y ait plusieurs raisons à cela. J'ai essayé d'exécuter d'autres applications sur mon simulateur, j'ai redémarré mon simulateur et j'ai même essayé de supprimer les dossiers de construction et de reconstruire à partir de zéro, mais aucune de ces approches n'a résolu le problème.
Ce qui a finalement fonctionné était restarting the React Native Debugger
que j'avais sur l'arrière-plan tout le temps.
react-native-firebase provoque souvent le même problème.
ci-dessous est le guide d'intégration officiel de react-native-firebase. https://rnfirebase.io/docs/v5.x.x/installation/ios
B) Au début de la méthode launchOptions de didFinishLaunchingWithOptions: (NSDictionary *) ajoutez la ligne suivante:
[Configurer FIRApp]; "Il est recommandé d'ajouter la ligne dans la méthode AVANT de créer le RCTRootView. Sinon, l'initialisation peut se produire après avoir déjà été requise dans votre code JavaScript - conduisant à des exceptions d'application non initialisées."
Avez-vous GoogleService-Info.plist? Avez-vous installé pod? Avez-vous matériel> effacer tout le contenu et les paramètres du simulateur?
Dans mon cas, mon code fonctionnait sous Android, mais pas dans le simulateur iOS.
SplashScreen.preventAutoHide();
était le problème.
J'ai appelé la méthode deux fois, App.js et Main.js, respectivement.
Après l'avoir supprimé dans App.js, cela a fonctionné.
(Je pense restarting the React Native Debugger
a également aidé)
bien ce post est vieux mais laisse aller, comment j'ai résolu ce problème par moi-même:
> install yarn
> run: yarn remove react-native
> run: yarn add react-native
> run: react-native run-Android
Vous devez installer Android Emulator, par exemple, en utilisant Android Studio ou Genymotion. Ensuite, créez Android périphérique virtuel. Après cela , démarrez votre appareil virtuel et exécutez
npm run Android
Après cela, Expo devrait démarrer sur votre appareil.
Dans mon cas, cela s'est toujours produit lorsque le débogage JS distant était activé. Le bundle JS se chargerait à 100%, mais l'application était bloquée. React Le débogueur natif n'a pas pu se connecter, avec le message d'erreur Another debugger is already connected
.
Après avoir essayé toutes sortes de choses (réinitialisation du cache, redémarrage du générateur Metro, redémarrage du simulateur) sans aucune chance, je me suis souvenu que le seul "autre débogueur" que j'avais jamais utilisé était le Chrome Devtools, donc je Quittez Chrome, et immédiatement tout fonctionnait à nouveau.
Il s'avère que, même si j'avais fermé l'onglet Chrome où je déboguais l'application, un processus d'arrière-plan dans Chrome était toujours attaché en tant que débogueur au (également après le redémarrage du simulateur). Ensuite, il a atteint une sorte de point d'arrêt ou d'exception au démarrage, il s'est donc arrêté, et tout ce que j'ai pu voir était le Downloading Javascript bundle 100%
message.
Vous devez essayer de configurer un nouveau projet natif réactif et transférer vos fichiers vers le nouveau projet, puis réessayer de l'exécuter, ce problème se produit lorsque les fichiers de génération sont manquants