Hier, après avoir mis à jour NDK, je rencontre ces erreurs:
Error:(81) Android NDK: Application targets deprecated ABI(s): armeabi
Error:(82) Android NDK: Support for these ABIs will be removed in a
future NDK release.
Ce lien m'a dirigé vers le fichier setup-app.mk
sur les lignes
_deprecated_abis := $(filter $(NDK_DEPRECATED_ABIS),$(NDK_APP_ABI))
ifneq ($(_deprecated_abis),)
$(call __ndk_warning,Application targets deprecated ABI(s):
$(_deprecated_abis))
$(call __ndk_warning,Support for these ABIs will be removed in a
future NDK release.)
endif
Je n'ai aucune idée, comment résoudre ce problème . Un conseil?
J'avais le même problème et j'évitais simplement de nettoyer ou de reconstruire l'ensemble du projet jusqu'à ce que j'ai la dernière mise à jour de NDK et que le problème soit réapparu.
Cela se produit car même après la suppression des cibles, il existe toujours des fichiers présents dans app/.externalNativeBuild
qui y font référence.
Pour résoudre ce problème, j'ai supprimé Application.mk (que j'utilisais pour définir les cibles) et ajouté ces lignes à app/build.gradle.
Android {
defaultConfig {
// ...
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a' // 'x86', 'x86_64' may be added
}
}
// ...
task ndkClean(type: Delete) {
// remove unused archs from build cache
delete fileTree('.externalNativeBuild') {
exclude defaultConfig.ndk.abiFilters.collect { '**/' + it }
}
}
tasks.findByPath(':clean').dependsOn ndkClean
}
Dans le fichier Application.mk, vous devez définir APP_ABI: = armeabi armeabi-v7a x86 mips Puis synchroniser le projet. Cela résoudrait votre problème.
Supprimer armeabi de votre liste APP_ABI.
Comme vous pouvez le constater à la source, il devrait s'agir d'un avertissement, pas d'une erreur. Comment appelez-vous ndk-build?
Si quelqu'un a toujours ce problème, voici quelques choses à essayer dans l'ordre.
Si ci-dessus ne fonctionne pas, ajoutez
APP_ABI: = armeabi-v7a arm64-v8a
dans le fichier Application.mk et reliez-le depuis le niveau d'application (tout comme Android.mk est lié à) et essayez à nouveau de construire
Si aucune des solutions ci-dessus ne fonctionne, supprimez -Werror flag dans Android.mk et reconstruisez-le.