web-dev-qa-db-fra.com

impossible de charger le script à partir de l'index des actifs.Android.bundle '

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

9
YB Tester

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
20
Nilesh Modak

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

12
Darshan Pania

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();
7
grailian

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.

  1. Exécutez d'abord Sudo chown user-name-of-pc /dev/kvm Dans mon cas.
  2. Lors du débogage à partir de votre Android Android, sélectionnez Use USB to Transfer photos (PTP).
  3. Créez des actifs de dossier dans "nom-projet/Android/app/src/main".
  4. assurez-vous que 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

  1. exécutez la commande ./studio.sh dans le répertoire Android-studio/bin. Il ouvrira Android Studio.
  2. exécutez la commande react-native run-Android.
2
Harat

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

2
Bhavan Patel

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
1
Anchal_Systematix

Pour les utilisateurs de Windows uniquement:

  1. Copiez le chemin de l'emplacement adb et définissez-le dans PATH dans votre variable système,
  2. Ouvrez la structure du projet et supprimez le dossier du module de nœud.
  3. Modifiez votre projet 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
  4. Redémarrez le serveur cmd et js et exécutez votre projet natif React par react-native run-Android
1
mahendra

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"
  }
1
Kylo Ren

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

1
requirunt

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.

1
user8267593

J'obtenais aussi cette erreur. Mais adb reversea fonctionné pour moi

0
abbu jan

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:

  1. create-react-native-app myApp
  2. cd myApp
  3. yarn run eject (J'ai utilisé les options par défaut "regular React Native project"))
  4. react-native run-Android

(maintenant l'application doit être compilée et installée sur le téléphone)

Au téléphone:

  1. Exécutez l'application (attendez-vous à voir l'écran d'erreur rouge! - cliquez sur le bouton Ignorer en bas à gauche)
  2. Secouez le téléphone et choisissez Paramètres de développement
  3. Choisissez Déboguer l'hôte et le port du serveur pour le périphérique et définissez-le sur 192.168.x.x: 8081 (faites-en votre IP LAN réelle bien sûr)
  4. Redémarrez l'application sur le téléphone et vous devriez voir une barre verte en haut "Chargement à partir de 192.168.x.x: 8081 ..."
  5. Vous devriez également voir certains "Bundling index.js "dans Metro Bundler (qui s'est ouverte lors de l'exécution de react-native run-Android)
  6. Une fois le bundle terminé, l'application devrait fonctionner sur votre 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.

0
plong0

j'utilise Ubuntu 18.04 LTS, React-Native: 0.55.2. Dans mon cas, voici quelques solutions au problème.

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

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

  3. supprimez l'émulateur et reconstruisez-le. tuer le terminal récent puis construire l'émulateur et recommencer.

0
Tasif