Yesterday, after updating NDK I'm having these errors:
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.
This links directed me to setup-app.mk
file on lines
_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
I have no idea, how to solve this problem. Any advice?
I had the same problem and was just avoiding cleaning or rebuilding the whole project until I got the latest NDK update and the problem re-emerged.
This happens because even after removing the targets, there are still files present in app/.externalNativeBuild
that refers to them.
To fix this I removed the Application.mk (which I was using to set the targets) and added this lines to 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
}
In Application.mk file, you should set APP_ABI:= armeabi armeabi-v7a x86 mips then sync project. It would solve your problem.
Remove armeabi from your APP_ABI list.
As you can see from the source though, it should be a warning, not an error. How are you invoking ndk-build?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With