Je suis nouveau dans React-Native. J'ai exécuté le projet natif React sur Ubuntu en utilisant la commande "React-Native Run-Android". Et j'ai eu l'erreur sur l'émulateur "Impossible de charger le script à partir de l'index des actifs. Android.bundle". Assurez-vous que votre bundle est correctement empaqueté ou que vous exécutez un serveur de packages. "
J'ai également obtenu ceci et j'ai résolu cela en utilisant les commandes suivantes dans votre répertoire de projet:
$ mkdir Android/app/src/main/assets
$ react-native bundle --platform Android --dev false --entry-file index.Android.js --bundle-output Android/app/src/main/assets/index.Android.bundle --assets-dest Android/app/src/main/res
$ react-native run-Android
Utilisation de npm version 4.3.0 react-native-cli version 2.01 react-native version 0.49.5
Dans le répertoire du projet,
mkdir Android/app/src/main/assets
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
react-native run-Android
Le nom du fichier est passé de index.Android.js à index.js
Dans mon cas (incorporer React Native en tant que nouveau Activity
dans une base de code existante Android Code Base), le problème était Android Studio avait importé automatiquement le mauvais BuildConfig.
Faux: import com.facebook.react.BuildConfig;
Droite: import com.mywebdomain.myapp.BuildConfig;
Cela s'appliquerait à l'endroit où vous hébergez ce bloc de code:
mReactRootView = new ReactRootView(this);
mReactInstanceManager = ReactInstanceManager.builder()
.setApplication(getApplication())
.setBundleAssetName("index.Android.bundle")
.setJSMainModulePath("index")
.addPackage(new MainReactPackage())
.setUseDeveloperSupport(BuildConfig.DEBUG)
.setInitialLifecycleState(LifecycleState.RESUMED)
.build();
Ubuntu
la première fois, j'ai créé une nouvelle application avec react-native init project-name
. J'ai eu la même erreur. donc je fais les étapes suivantes pour résoudre ce problème dans mon cas.
Sudo chown user-name-of-pc /dev/kvm
Dans mon cas.Use USB to Transfer photos (PTP)
.index.js
soit disponible dans le répertoire root
de votre projet, puis exécutez la commande ci-dessous à partir de la console après le répertoire cd project-name
.bundle react-native --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
ou pour index.Android.js puis
bundle react-native --platform Android --dev false --entry-file index.Android.js --bundle-output Android/app/src/main/assets/index.Android. bundle --assets-dest Android/app/src/main/res
./studio.sh
dans le répertoire Android-studio/bin
. Il ouvrira Android Studio.react-native run-Android
.Cela m'a aidé à résoudre le problème en suivant les étapes.
Sinon (dans le répertoire du projet) mkdir Android/app/src/main/assets
react-native bundle --platform Android --dev false --entry-file index.Android.js --bundle-output Android/app/src/main/assets/index.Android.bundle --assets-dest Android/app/src/main/res
react-native run-Android
Pour cette erreur:
impossible de charger le script à partir de l'index des actifs.Android.bundle '
1) Recherchez le dossier "assets" dans:
mkdir Android\app\src\main\assets
Si le dossier n'est pas disponible, créez manuellement un dossier avec le nom "actifs". et exécutez la commande Curl dans le terminal.
2). Commande Curl:
curl "http://localhost:8081/index.Android.bundle?platform=Android" -o"Android/app/src/main/assets/index.Android.bundle"
Il créera automatiquement le fichier "index.Android.bundle" dans le dossier des ressources et résoudra le problème.
3) Ensuite:
react-native run-Android
Pour les utilisateurs de Windows uniquement:
PATH
dans votre variable système,package.JSON
changement de fichier version native réactive "react-native": "0.55.2"
, et babel "babel-preset-react-native": "4"
, après cette exécution npm install
react-native run-Android
J'ai été coincé dans le même problème pendant des heures et ce qui a résolu mon problème est le suivant: créer un dossier "assets" dans le répertoire principal du projet ainsi que dans "newreactproject\Android\app\src\main". Mettez ensuite ce script dans package.json "Android-android": "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 && react-native run-Android"
comme:
"name": "newreactproject",
"version": "0.0.1",
"private": true,
"scripts": {
"Android-android": "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 && react-native run-Android",
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
}
Dans mon cas, le problème était dans cette ligne dans le fichier d'activité React:
mReactInstanceManager = ReactInstanceManager.builder()
...
.setUseDeveloperSupport(BuildConfig.DEBUG)
...
BuildConfig.DEBUG doit être défini sur true, alors que dans mon cas, il était faux
Cela semble être un problème dans la dernière version de React Native (0.46). L'utilisation de la version précédente semble résoudre le problème react-native init name --version [email protected]
et supprime l'erreur lors de l'exécution de react-native run-Android
.
Edit: Il est maintenant corrigé dans la version 0.46.1.
J'obtenais aussi cette erreur. Mais adb reverse
a fonctionné pour moi
J'ai découvert une solution suggérée dans le fil à https://github.com/facebook/react-native/issues/15388
Il s'agit de définir manuellement le paramètre Debug server Host & port for device pour l'application sur le téléphone.
Étape par étape pour éjecter et exécuter un CRNA sur Android
Dans le terminal:
create-react-native-app myApp
cd myApp
yarn run eject
(J'ai utilisé les options par défaut "regular React Native project"))react-native run-Android
(maintenant l'application doit être compilée et installée sur le téléphone)
Au téléphone:
index.js
"dans Metro Bundler (qui s'est ouverte lors de l'exécution de react-native run-Android
)Live Reload (lorsque les fichiers source changent) fonctionne également - secouez simplement le téléphone et appuyez sur "Activer Live Reload"
Vous pouvez exécuter le projet à partir de Android Studio, mais vous devez d'abord démarrer Metro Bundler avec la commande react-native start
dans la racine du projet CRNA.
j'utilise Ubuntu 18.04 LTS, React-Native: 0.55.2. Dans mon cas, voici quelques solutions au problème.
dans le terminal avant d'exécuter npm run Android tapez npm start. vous pouvez voir une erreur ERREUR Metro Bundler ne peut pas écouter sur le port 8081. cela se produit car il peut y avoir un processus qui est déjà en cours d'exécution
Type de solution Sudo lsof -i :8081
vous verrez une sortie similaire à celle-ci
** NOM DU NœUD DE TAILLE/D'ARRÊT DU DISPOSITIF DE TYPE FD UTILISATEUR PID DE COMMANDE
node 5670 tasif 17u IPv6 80997 0t0 TCP *:tproxy (LISTEN)**
tapez kill -9 (PID number)
puis run npm Android
.
s'il ne fonctionne toujours pas, tapez à nouveau npm start. vous pourriez voir cette erreur
E RROR ENOSPC: no space left on device, watch'....../......./.....'
solution :
$ Sudo sysctl fs.inotify.max_user_watches=524288
$ Sudo sysctl -p
puis tapez npm run Android
.
veuillez consulter ce lien pour voir différentes solutions et plus de détails https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers#the-technical-details
supprimez l'émulateur et reconstruisez-le. tuer le terminal récent puis construire l'émulateur et recommencer.