Java Android NDK:应用程序目标不推荐的ABI:更新NDK后出现armeabi错误

Java Android NDK:应用程序目标不推荐的ABI:更新NDK后出现armeabi错误,java,android,android-ndk,Java,Android,Android 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. 此链接将我定向到第行的setup app.mk文件 _deprecated_abis := $(filter $(NDK_DEPR

昨天,在更新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.    
此链接将我定向到第行的
setup app.mk
文件

_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
我不知道如何解决这个问题。
有什么建议吗?

从应用程序ABI列表中删除armeabi


正如您从源代码中看到的,它应该是一个警告,而不是一个错误。如何调用ndk build?

我也遇到了同样的问题,只是避免清理或重建整个项目,直到得到最新的ndk更新,问题再次出现

这是因为即使在删除目标之后,
app/.externalNativeBuild
中仍存在引用它们的文件

为了解决这个问题,我删除了Application.mk(我用来设置目标),并将这行代码添加到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
}

在Application.mk文件中,您应该设置APP_ABI:=armeabi armeabi-v7a x86 mips
然后同步项目。这会解决你的问题。

如果有人仍然有这个问题,下面是一些可以尝试的事情

  • 删除生成文件夹,然后生成>清理项目,生成>重建项目
  • 如果上述方法无效,请添加

    应用程序ABI:=armeabi-v7a arm64-v8a

    在Application.mk文件中,从应用级别gradle链接它(就像Android.mk链接到的一样),然后再次尝试构建


Nohow。我只调用应用程序构建。你是什么意思?正如您通过local.properties附加的Android Studio/gradle?ndk进行构建一样,但我并没有调用它,而是使用clean,而不是rebuild,然后运行。也许我不明白你的意思。如果其他人也有同样的问题,我会发表评论。我必须删除gradle构建的最后一行中的:以找到干净的任务。因为它说不能在空对象上调用dependsOn。谢谢!关于“app/.externalNativeBuild”的评论解决了我的问题。有点悲哀,一次清洁并没有消除它。