Lors du développement d'une application, j'ai rencontré l'erreur suivante. J'ai essayé de rétrograder la version java de 11 à 8, mais cela n'a pas été utile.
FAILURE: Build failed with an exception.
* What went wrong:
Could not create service of type ScriptPluginFactory using BuildScopeServices.createScriptPluginFactory().
> Could not create service of type PluginResolutionStrategyInternal using BuildScopeServices.createPluginResolutionStrategy().
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 15s
Could not install the app on the device, read the error above for details.
Make sure you have an Android emulator running or a device connected and have
set up your Android development environment:
https://facebook.github.io/react-native/docs/getting-started.html
Command failed: gradlew.bat installDebug
Error: Command failed: gradlew.bat installDebug
at checkExecSyncError (child_process.js:616:11)
at Object.execFileSync (child_process.js:634:13)
at runOnAllDevices (C:\Users\samie\Documents\React Native\auth\node_modules\react-native\local-cli\runAndroid\runAndroid.js:299:19)
at buildAndRun (C:\Users\samie\Documents\React Native\auth\node_modules\react-native\local-cli\runAndroid\runAndroid.js:135:12)
at isPackagerRunning.then.result (C:\Users\samie\Documents\React Native\auth\node_modules\react-native\local-cli\runAndroid\runAndroid.js:65:12)
at process._tickCallback (internal/process/next_tick.js:68:7)
8 Réponses :
J'ai eu ce problème moi-même, il a finalement disparu après avoir désinstallé et réinstallé Android Studio et Gradle, mais vous pouvez essayer quelques autres choses en premier
1: Définition de GRADLE_USER_HOME dans les variables d'environnement (si sur Windows)
2: Rétrograder vers la version 0.57.0 native de réaction
3: assurez-vous que vous disposez des autorisations appropriées pour exécuter la commande et accéder aux fichiers
4: Assurez-vous que vos fichiers gradle sont correctement synchronisés et que l'emplacement de gradle et le skd android sont corrects dans le mode hors ligne de la structure du projet
5: Vérifiez gradle pour les mises à jour
(En supposant que vous utilisez Android Studio)
Bonne chance
Essayez d'exécuter cette commande dans votre fichier projet
cd (path to project/android folder) && gradlew clean && cd .. && react-native run-android
après cela
task wrapper(type: Wrapper) {
gradleVersion = '5.2.1'
distributionUrl = distributionUrl.replace("bin", "all")
}
toujours gradlew clean avant d'exécuter react-native-run- Android la commande ci-dessus nettoie essentiellement le gradle et les versions précédentes.
pour ENOENT Error
Vérifiez si $ yarn start fonctionne. Le bundler de métro n'a pas pu fonctionner sur le port 8081 pour moi et je devais exécuter $ killall node
EDIT:
Mettez également à jour le gradle-wrapper.properties
ajouter
distributionUrl=https\://services.gradle.org/distributions/gradle-5.2.1-all.zip
supprimer le code suivant de build.gradle:
cd (path to project/android folder) && gradlew clean && cd .. && react-native run-android
après cela
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
toujours gradlew clean avant d'exécuter react- native-run-android la commande ci-dessus nettoie en gros le gradle et les versions précédentes.
Vous êtes prêt à partir!
après la première étape, j'ai eu cette erreur: Chargement du graphique de dépendance, terminé. Chargement du graphe de dépendance ... bundle: écriture de la sortie du bundle vers: android / app / src / main / assets / index.android.bundle ENOENT: aucun fichier ou répertoire de ce type, ouvrez 'C: \ Users \ samie \ Documents \ React Native \ auth \ android \ app \ src \ main \ assets \ index.android.bundle 'Erreur: ENOENT: aucun fichier ou répertoire de ce type, ouvrez' C: \ Users \ samie \ Documents \ React Native \ auth \ android \ app \ src \ main \ assets \ index.android.bundle '
for ENOENT Error Vérifiez si $ yarn start fonctionne. Le bundler de métro n'a pas pu fonctionner sur le port 8081 pour moi et j'avais besoin d'exécuter le nœud $ killall
J'ai également eu ce problème et j'ai pu le résoudre en créant un nouveau projet dans react-native 0.57.3 à l'aide de la commande:
react-native init --version = "0.57.3" MyNewApp
ouvrez votre fichier 'settings.grandler' dans le dossier android
changez le "\" en "/"
enregistrez le fichier
exécutez la commande 'react-native run-android
Vous devez mettre à jour le fichier gradle-wrapper.properties pour utiliser la dernière version de gradle:
task wrapper(type: Wrapper) {
gradleVersion = '5.2.1'
distributionUrl = distributionUrl.replace("bin", "all")
}
Et supprimer ce bloc de build. gradle file:
distributionUrl=https\://services.gradle.org/distributions/gradle-5.2.1-all.zip
Ensuite, exécutez un gradlew clean sur le dossier android et tout devrait fonctionner.
p >
Comment j'ai résolu ce problème:
D'abord, assurez-vous que la variable% java_home% est définie et que% path% contient le sdk java. Comment configurer les variables d'environnement Java
Deuxièmement, allez à votre dossier Android et exécutez cette commande:
react-native run-android
Décompression C: \ Users \ codeb.gradle \ wrapper \ dists \ gradle-4.10.2-all \ 9fahxiiecdb76a5g3aw9oi8rv \ gradle-4.10.2-all.zip à C: \ Users \ codeb.gradle \ wrapper \ dists \ gradle-4.10.2-all \ 9fahxiiecdb76a5g3aw9oi8rv Exception dans le thread "main" java.util.zip.ZipException: erreur dans ouverture du fichier zip à java.util.zip.ZipFile.open (méthode native) à java.util.zip.ZipFile. (ZipFile.java:225) à java.util.zip.ZipFile. (ZipFile.java:155) à java.util.zip.ZipFile. (ZipFile.java:169) à org.gradle.wrapper.Install.unzip (Install.java:215) à org.gradle.wrapper.Install.access 600 $ (Install.java:27) à org.gradle.wrapper.Install $ 1.call (Install.java:75) à org.gradle.wrapper.Install $ 1.call (Install.java:48) à org.gradle.wrapper.ExclusiveFileAccessManager.access (ExclusiveFileAccessManager.java:69) à org.gradle.wrapper.Install.createDist (Install.java:48) à org.gradle.wrapper.WrapperExecutor.execute (WrapperExecutor.java:107) à org.gradle.wrapper.GradleWrapperMain.main (GradleWrapperMain.java:61)
Comme vous pouvez le voir, mon téléchargement de gradle est corrompu. Tout ce que vous avez à faire est de supprimer ce dossier et de relancer la commande.
C:\Projects\myproject\android>gradlew.bat app:installDebug
Téléchargement https://services.gradle.org/distributions/gradle-4.10.2 -all.zip .................................................. .................................................. ........... Décompresser C: \ Users \ codeb.gradle \ wrapper \ dists \ gradle-4.10.2-all \ 9fahxiiecdb76a5g3aw9oi8rv \ gradle-4.10.2-all.zip à C: \ Users \ codeb.gradle \ wrapper \ dists \ gradle-4.10.2-all \ 9fahxiiecdb76a5g3aw9oi8rv
Bienvenue dans Gradle 4.10.2!
Voici les points forts de cette version: - Compilation Java incrémentale par défaut - Nettoyage périodique des caches Gradle - Gradle Kotlin DSL 1.0-RC6 - Constructions incluses imbriquées - Versions du plugin SNAPSHOT dans le bloc
plugins {}Pour plus de détails, consultez https://docs.gradle.org/4.10. 2 / release-notes.html
Maintenant, vous pouvez revenir à votre projet natif React et exécuter
C:\Projects\myproject\android>gradlew.bat app:installDebug.
Le serveur info JS est déjà en cours d'exécution. info Création et installation de l'application sur l'appareil (cd android && gradlew.bat app: installDebug) ...
Tâche: app: installDebug 01:03:18 V / ddms: execute: running am get-config 01:03:18 V / ddms: exécute 'am get-config' sur 'emulator-5554' : EOF frappé. Lecture: -1 01:03:18 V / ddms: exécution: retour de l'installation de l'APK 'app-debug.apk' sur 'Pixel_2_API_28 (AVD) - 9' pour l'application: debug 01:03:18 D / app-debug.apk: Téléchargement de app-debug.apk sur l'appareil 'emulator-5554' 01:03:18 D / Device: Téléchargement du fichier sur le périphérique 'emulator-5554' 01:03:18 D / ddms: Permission de lecture de fichier de C: \ Projects \ xx \ android \ app \ build \ sorties \ apk \ debug \ app-debug.apk comme: rwx ------ 01:03:18 V / ddms: execute: exécution de pm install -r -t "/data/local/tmp/app-debug.apk" 01:03:19 V / ddms: exécutez 'pm install -r -t "/data/local/tmp/app-debug.apk" 'sur' emulator-5554 ': frappe EOF. Lecture: -1 01:03:19 V / ddms: exécution: retour 01:03:19 V / ddms: exécution: exécution de rm "/data/local/tmp/app-debug.apk" 01:03:19 V / ddms: exécution 'rm "/data/local/tmp/app-debug.apk"' sur 'emulator-5554': EOF hit. Lecture: -1 01:03:19 V / ddms: execute: retour Installé sur 1 appareil.
CONSTRUISEZ RÉUSSITE en 9s 27 tâches réalisables: 1 exécutée, 26 à jour info Course à pied C: \ Users \ codeb \ AppData \ Local \ Android \ Sdk / platform-tools / adb -s emulator-5554 reverse tcp: 8081 tcp: 8081 info Démarrage de l'application sur émulateur-5554 (C: \ Users \ codeb \ AppData \ Local \ Android \ Sdk / platform-tools / adb -s émulateur-5554 shell am start -n com.myproject / com.myproject.MainActivity) ... Démarrage: Intention {cmp = com.myproject / .MainActivity}
J'ai oublié d'installer jdk
Le problème est dans le fichier:
nomvotreapp / android / local.properties
vous devez remplacer par le chemin correct: /Users/nameUser/AppData/Local/Android/sdk
Lancez simplement sudo react-native run-android et il construira et installera ./gradlew app: installDebug dans le répertoire android pour vous.