Android NDK: цели приложений устарели ABI (s): ошибка armeabi после обновления NDK
вчера, после обновления NDK у меня возникли следующие ошибки:
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.
эта ссылка направила меня на по линии
_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
Я понятия не имею, как решить эту проблему. Есть советы?
4 ответов
у меня была та же проблема, и я просто избегал очистки или перестройки всего проекта, пока не получил последнее обновление NDK и проблема не возникла снова.
это происходит потому, что даже после удаления целей в app/.externalNativeBuild
, что относится к ним.
чтобы исправить это, я удалил приложение.mk (который я использовал для установки целей) и добавил Эти строки в приложение/сборку.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
}
В Приложении.файл mk, вы должны установить APP_ABI:= armeabi armeabi-v7a x86 mips затем синхронизируйте проект. Это решит твою проблему.
удалить armeabi из списка APP_ABI.
Как вы можете видеть из источника, оно должно быть предупреждение, а не ошибка. Как вы вызываете ndk-build?
Если у кого-то все еще есть эта проблема, вот некоторые вещи, чтобы попробовать по порядку.
- удалить папку сборки, затем Построить > Очистить Проект, Построить > Перестроить Проект
-
Если выше не работает, добавьте
APP_ABI:= armeabi-v7a arm64-v8a
в приложении.Mk файл и связать его с уровня приложения gradle (так же, как Android.mk связан с) и попробуйте построить снова
Если ни один из выше не работает, удалить -Werror флаг с Android.МК и перестроить