Android Studio 3.0.1忽略Application.mk中的APP_ABI?

时间:2017-12-19 21:32:23

标签: android-studio android-ndk android.mk

在构建NDK应用程序时,Android Studio是否应该忽略Application.mk中的值?

我已将Application.mk更改为如下,但我的项目仍在构建x86mips等。它应该只构建armeabi-v7a

#APP_ABI := all
APP_ABI := armeabi-v7a

构建输出 - 请参阅x86 enter image description here

我注意到NDK_APP_ABI文件中对NDK_DEFAULT_ABISsetup-app.mk的引用。这些是否应该覆盖Application.mk中包含的内容?

是否可以在build.gradle文件中指定将传播到setup-app.mk文件中的变量?

找到相关文档的最佳位置在哪里? - 目前谷歌的文档很少。

1 个答案:

答案 0 :(得分:1)

是的,技术原因是gradle在它生成的ndk-build命令行上指定了APP_ABI。对于gnu make,命令行参数会覆盖Makefile中写入的内容。

Make有override关键字可以帮助...只有这会破坏externalNativeBuild的精致结构。如果您希望ndkBuild与Android Studio合作,请尽可能简化脚本。

gradle插件使用abiFilters来调整构建。实际上,官方文档describe非常好。