Je travaille avec React Native et chaque fois que je crée un nouveau projet, il semble fonctionner sur mon appareil, mais chaque fois que j'essaye de le redémarrer, cela me donne 1 ou plusieurs erreurs
J'ai essayé de chercher des solutions sur github mais aucune d'entre elles n'est claire, je posterai le message d'erreur complet ici.
react-native run-Android info Exécution de jetifier pour migrer les bibliothèques vers AndroidX. Vous pouvez le désactiver en utilisant le drapeau "--no-jetifier". Jetifier a trouvé 855 fichier (s) à retransférer. Utilisation de 4 travailleurs ... info Démarrage du serveur JS ... info Installation de l'application ... Démarrage d'un démon Gradle (les builds suivants seront plus rapides)
Tâche: application: transformNativeLibsWithMergeJniLibsForDebug FAILED
Des fonctionnalités Gradle obsolètes ont été utilisées dans cette version, ce qui la rend incompatible avec Gradle 6.0. Utilisez "--warning-mode all" pour afficher les avertissements de dépréciation individuels. Voir https://docs.gradle.org/5.4.1/userguide/command_line_interface.html#sec:command_line_warnings 24 tâches exécutables: 2 exécutées, 22 à jour
ÉCHEC: la construction a échoué avec une exception.
Problème: l'exécution a échoué pour la tâche ": app: transformNativeLibsWithMergeJniLibsForDebug".
Impossible de lire le chemin 'C:\REACT_NATIVE\AwesomeProject2\Android\app\build\intermediates\transforms\mergeJniLibs\debug\0\lib\arm64-v8a'.
Essayez: exécutez avec l'option --stacktrace pour obtenir la trace de la pile. Exécutez avec l'option --info ou --debug pour obtenir plus de sortie de journal. Exécutez avec --scan pour obtenir des informations complètes.
Obtenez plus d'aide sur https://help.gradle.org
ÉCHEC DE LA CONSTRUCTION en 57s
erreur Échec de l'installation de l'application. Assurez-vous que l'environnement de développement Android est configuré: https://facebook.github.io/react-native/docs/getting-started.html#Android-development- environnement . Exécutez l'interface CLI avec l'indicateur --verbose pour plus de détails. Erreur: échec de la commande: application gradlew.bat: installDebug -PreactNativeDevServerPort = 8081
ÉCHEC: la construction a échoué avec une exception.
Problème: l'exécution a échoué pour la tâche ": app: transformNativeLibsWithMergeJniLibsForDebug".
Impossible de lire le chemin 'C:\REACT_NATIVE\AwesomeProject2\Android\app\build\intermediates\transforms\mergeJniLibs\debug\0\lib\arm64-v8a'.
Essayez: exécutez avec l'option --stacktrace pour obtenir la trace de la pile. Exécutez avec l'option --info ou --debug pour obtenir plus de sortie de journal. Exécutez avec --scan pour obtenir des informations complètes.
Obtenez plus d'aide sur https://help.gradle.org
ÉCHEC DE LA CONSTRUCTION en 57s
at checkExecSyncError (child_process.js:623:11)
at execFileSync (child_process.js:641:15)
at runOnAllDevices (C:\REACT_NATIVE\AwesomeProject2\node_modules\@react-native-community\cli-platform-Android\build\commands\runAndroid\runOnAllDevices.js:75:39)
at buildAndRun (C:\REACT_NATIVE\AwesomeProject2\node_modules\@react-native-community\cli-platform-Android\build\commands\runAndroid\index.js:169:41)
at C:\REACT_NATIVE\AwesomeProject2\node_modules\@react-native-community\cli-platform-Android\build\commands\runAndroid\index.js:135:12
at processTicksAndRejections (internal/process/task_queues.js:85:5)
at async Command.handleAction (C:\REACT_NATIVE\AwesomeProject2\node_modules\react-native\node_modules\@react-native-community\cli\build\cliEntry.js:160:7)
L'exécution de la tâche de nettoyage a résolu le problème pour moi. Dans le dossier Android dir de votre projet, exécutez le wrapper gradle avec "clean"
cd Android && ./gradlew clean
Ensuite, vous pouvez revenir au dossier de projet et réessayer.
cd .. && react-native run-Android
allez sur Android/app/build.gradle ajoutez ce qui suit sous Android
Android {
...
+ packagingOptions {
+ pickFirst '**/libjsc.so'
+ pickFirst 'lib/x86/libc++_shared.so'
+ pickFirst 'lib/x86_64/libjsc.so'
+ pickFirst 'lib/arm64-v8a/libjsc.so'
+ pickFirst 'lib/arm64-v8a/libc++_shared.so'
+ pickFirst 'lib/x86_64/libc++_shared.so'
+ pickFirst 'lib/armeabi-v7a/libc++_shared.so'
+ }
}
L'exécution de la tâche de nettoyage a résolu le problème pour moi. Dans le dossier Android dir de votre projet, exécutez le wrapper gradle avec "clean"
cd Android && ./gradlew clean
Ensuite, vous pouvez revenir au dossier de projet et réessayer.
cd .. && react-native run-Android
Un projet propre qui fonctionne pour moi
Un projet natif réagit à environ un projet XCode et un projet Android Project. (Code js pur, pas besoin de nettoyer)
Alors, de quoi avez-vous besoin?
Nettoyer le projet XCode avec
$ cd ios
$ xcodebuild clean
$ cd .. && react-native run-ios
Et puis nettoyez Android Project with
$ cd Android
$ ./gradlew clean
$ cd .. && react-native run-Android
Vous pouvez simplement écrire un fichier batch pour cela.
Accédez à Android/app/build.gradle et ajoutez la chose suivante sous Android:
Android {
packagingOptions {
pickFirst '**/libjsc.so'
}
}
Ensuite, exécutez-le à nouveau. Si vous utilisez React Native, je vous suggère de fermer la console NPM et de la relancer.
Les bibliothèques AAR n'étaient pas liées à l'application principale de Bridge Project.
Solution:
implementation files(‘libs/sdk-5.0.0.aar’)
Au lieu de
implementation(name:'sdk-5.0.0', ext:'aar')
J'ai rencontré un autre problème lié à l'importation de fichiers AAR dans le Android. https://stackoverflow.com/a/58602329/3197778
allez sur Android/app/build.grad
Android { ... + packagingOptions { + pickFirst '**/libjsc.so' + pickFirst 'lib/x86/libc++_shared.so' + pickFirst 'lib/x86_64/libjsc.so' + pickFirst 'lib/arm64-v8a/libjsc.so' + pickFirst 'lib/arm64-v8a/libc++_shared.so' + pickFirst 'lib/x86_64/libc++_shared.so' + pickFirst 'lib/armeabi-v7a/libc++_shared.so'
+ } }