Je veux construire Gstreamer
source et il faut NDK
.
Je suis en train de configurer SDK Manager
-> Android SDK
-> SDK Tools
-> NDK
install
et je mets local.properties
dk:dir="C\:\\Users\\ddd\\AppData\\Local\\Android\\sdk\\ndk-bundle
.
Après avoir paramétré ndk, j’essaie de le construire, mais l’exécution a échoué.
Execution failed for task ':app:ndkBuild'. > Process 'command 'C:\Users\ddd\AppData\Local\Android\sdk\ndk-bundle\ndk-build.cmd" finished with non-zero exit value 2
message.
Comment définir ndk sur Android?
Ce que je déduis de ci-dessus, c'est que vous avez déjà installé NDK, assurez-vous également d'installer CMake et LLDB . (Redémarrez Android Studio après l'installation)
Si le problème persiste même après cela, essayez de supprimer le dossier "obj" de votre bibliothèque ndk (situé dans "votre répertoire/main/src/obj") et de reconstruire.
Cela a résolu le problème pour moi.
Pour rechercher le problème spécifique, consultez l’onglet Construire dans Android Studio pour voir quelle tâche échoue. Pour moi, c'était la tâche "cleanNative".
Exécutez ensuite cette tâche manuellement à partir de Terminal avec l'option --debug .
Sur Mac ou Linux:
./gradlew cleanNative --debug
Sous Windows:
gradlew cleanNative --debug
À partir des journaux, vous pouvez alors voir pourquoi il échoue. Dans mon cas, les paramètres ABI étaient incorrects:
10:24:27.140 [QUIET] [system.out] Android NDK: The armeabi ABI is no longer supported. Use armeabi-v7a.
10:24:27.140 [QUIET] [system.out] Android NDK: NDK Application 'local' targets unknown ABI(s): armeabi
10:24:27.140 [ERROR] [system.err] /Users/michal-home/Library/Android/sdk/ndk-bundle/build/core/setup-app.mk:79: *** Android NDK: Aborting . Stop.
10:24:27.140 [QUIET] [system.out] Android NDK: Please fix the APP_ABI definition in /path-to-app/app/src/main/jni/Application.mk
Vous devez vous assurer que le NDK est défini correctement - allez dans Fichier-> Structure du projet-> Emplacement du SDK et assurez-vous que l'emplacement du NDK est correctement défini. Si c'est le cas, la compilation échoue peut-être à cause d'un problème de code et nous aurons besoin d'informations supplémentaires pour vous aider.
Vérifiez votre chemin de projet Android.
J'ai eu un problème similaire avec des espaces vides à mon nom de dossier. Évitez des choses comme ça ou ndk ne peut pas faire le travail
.\Users\User1\Desktop\androidprojects\mon projet\androidproject1
Au lieu de cela utiliser
.\Utilisateurs\Utilisateur1\Bureau\androidprojects\monprojet\androidproject1
Dans mon cas et mon projet, il était utile d’utiliser la version privée de ndk ( Révision 17c ). Donc, je viens de le mettre dans 'C:\Utilisateurs\Nom d'utilisateur\AppData\Local\Android\sdk\ndk-bundle'
Un autre problème utile consiste à placer vos fichiers * .so dans le dossier jniLibs: