如何在Android.mk中设置TARGET_ARCH_ABI

sha*_*enk 6 android ndk-build android.mk

我正在尝试使用ndk-build构建本机应用程序。假设我按照本指南创建了Android项目:

https://rathodpratik.wordpress.com/2013/03/24/build-cc-executables-for-android-using-ndk/

当我尝试打印TARGET_ARCH_ABI时,我总是会得到armeabi。即使我明确设定

  TARGET_ARCH_ABI := armeabi-v7a
Run Code Online (Sandbox Code Playgroud)

该应用程序始终构建在libs / armeabi目录中,当我检查elf标头时,它实际上表明它是为ARM构建的。

如何获得为armeabi-v7a构建的文件?

And*_*ano 5

同样的问题,但我实际上设法解决了它,我限制我的 build.gradle(module) 只为某些 abi 构建,使用:

defaultConfig {
  ndk {
    abiFilters 'armeabi-v7a'
  }
}
Run Code Online (Sandbox Code Playgroud)

和 Application.mk:

API_ABI := armeabi-v7a
Run Code Online (Sandbox Code Playgroud)


小智 3

我遇到了完全相同的问题,但也找不到原因。但是,我通过输入以下内容修复了它:

TARGET_ARCH_ABI := armeabi-v7a
Run Code Online (Sandbox Code Playgroud)

在 Android.mk 的最开头。

希望这可以帮助