70 votes

Fichier aarch64-linux-Android-strip manquant

J'ai mis à jour vers Android studio 2.3 et mon projet a obtenu ces erreurs

Error:org.gradle.process.internal.ExecException: A problem occurred starting process 'command 'C:\Users\...\AppData\Local\Android\sdk\ndk-bundle\toolchains\aarch64-linux-android-4.9\prebuilt\windows-x86_64\bin\aarch64-linux-android-strip''

Error:net.rubygrapefruit.platform.NativeException: Could not start 'C:\Users\...\AppData\Local\Android\sdk\ndk-bundle\toolchains\aarch64-linux-android-4.9\prebuilt\windows-x86_64\bin\aarch64-linux-android-strip'

Error:java.io.IOException: Cannot run program "C:\Users\...\AppData\Local\Android\sdk\ndk-bundle\toolchains\aarch64-linux-android-4.9\prebuilt\windows-x86_64\bin\aarch64-linux-android-strip" (in directory "E:\projectNmame\app"): CreateProcess error=2, The system cannot find the file specified

Quelqu'un peut-il m'aider à résoudre ce problème ? Je suis bloqué sur ce problème.

2 votes

J'ai rencontré cette erreur sur Bitrise et je l'ai résolue en changeant la pile en Android sin le NDK. La configuration de la pile est la suivante quay.io/bitriseio/android . J'espère que cela aidera quelqu'un !

97voto

CookieMonster Points 1320

J'ai Android Studio 3.1.2 et après avoir approuvé les mises à jour suggérées par l'IDE j'ai eu les erreurs suivantes :

org.gradle.api.tasks.TaskExecutionException: Execution failed for task '...'.

Caused by: org.gradle.process.internal.ExecException: A problem occurred starting process 'command '/Users/.../Library/Android/sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/darwin-x86_64/bin/mips64el-linux-android-strip'

Caused by: net.rubygrapefruit.platform.NativeException: Could not start '/Users/.../Library/Android/sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/darwin-x86_64/bin/mips64el-linux-android-strip'

Caused by: java.io.IOException: Cannot run program "/Users/.../Library/Android/sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/darwin-x86_64/bin/mips64el-linux-android-strip" (in directory "/Users/.../.../.../app"): error=2, No such file or directory

Caused by: java.io.IOException: error=2, No such file or directory

Il semble qu'il y ait un problème avec la version 17.0.4754217 du NDK.

Comme je n'utilise pas de composants ndk dans mon projet, la solution pour moi était la suivante supprimer NDK du SDK Manager .

Allez dans SDK Manager -> onglet SDK Tools -> décochez NDK -> Appliquez.

enter image description here

1 votes

Cela m'a aidé à construire et exécuter le projet avec la librairie OpenCV intégrée (avant la mise à jour vers Android Studio 3.1.2, cela fonctionne sans problème), mais c'est une solution temporaire. Ce problème pourrait être lié d'une manière ou d'une autre à la dépréciation de mips, mips64, armeabi dans NDK r17 : developer.Android.com/ndk/guides/abis#sa

0 votes

Merci beaucoup @CookieMonster, votre réponse a sauvé ma journée.

1 votes

Cela a fonctionné pour moi, mais que Dieu me préserve de devoir construire du code natif après cela. Comment Google fait-il pour foirer ce genre de choses si souvent ? "Version stable", peu importe.

97voto

Lucas Lima Points 1235

J'ai eu le même problème en utilisant la version du NDK 17.0.4754217 (peut-être que sur les versions plus récentes, cela ne se produit pas). Vous pouvez contourner ce problème en ajoutant le code suivant dans votre fichier gradle.build :

packagingOptions{
    doNotStrip '*/mips/*.so'
}

Ou

packagingOptions{
    doNotStrip '*/mips/*.so'
    doNotStrip '*/mips64/*.so'
}

Si vous utilisez du code natif (C++), je vous recommande d'ajouter également le code suivant :

ndk {
    abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86' // <- only the supported ones
}

Pour être sûr que tu n'embarqueras pas de binaire MIPS.

0 votes

Merci beaucoup Buddy :)

1 votes

Ce n'est pas le même problème, mais il est similaire. Il vous manquait les binaires MIPS (intentionnellement abandonnés à la r17, voir par ex. github.com/Android-ndk/ndk/issues/700 ), et non ARM64, comme indiqué par l'OP.

3 votes

Petite correction - Il faut l'ajouter sous la fermeture Android et pas n'importe où dans le build.gradle

21voto

Radu Ailincai Points 254

Ajoutez-les au fichier gradle.build :

packagingOptions{
    doNotStrip '*/mips/*.so'
    doNotStrip '*/mips64/*.so'
}

0 votes

Aujourd'hui, j'ai eu ce problème. Cette solution simple a résolu mon problème.

16voto

Tapa Save Points 452

Oui, j'ai eu cette erreur après avoir mis à jour NDK à 17.0.4754217.

Je viens d'essayer des solutions de contournement avec le dossier de copie de la v.16 ( \android -ndk- r16b -Windows-x86_64 \android -ndk- r16b \toolchains\mips64el -linux-Android-4.9 \prebuilt\windows -x86_64) de https://developer.Android.com/ndk/downloads/older_releases et ça marche pour moi.

Je ne suis pas sûr qu'il soit stable mais il fonctionne pour moi, jusqu'à ce que j'attende le nouveau correctif de Google.

3 votes

Ce n'est pas un problème de NDK qui doit être corrigé par Google. en fait, le support de mips est abandonné dans NDK r17. voyez : github.com/Android-ndk/ndk/wiki/Changelog-r17

0 votes

J'ai fait la même chose et ça a marché pour moi. (Projet Cordova)

15voto

Hanzala Points 1094

J'ai trouvé un paquet aquí à partir duquel j'ai copié tous les fichiers manquants et maintenant ça fonctionne parfaitement.

2 votes

Dossier \toolchains\mips64el -linux-Android-4.9 \prebuilt\windows -x86_64 ne contient qu'un seul fichier. J'ai copié les fichiers de r16b

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X