Android Studio 3.0.1 忽略 Application.mk 中的 APP_ABI?
Android Studio 3.0.1 Ignoring APP_ABI in Application.mk?
在构建 NDK 应用程序时,Android Studio 是否应该忽略 Application.mk
中的值?
我已如下更改 Application.mk
,但我的项目仍在构建 x86
、mips
等。它应该只构建 armeabi-v7a
#APP_ABI := all
APP_ABI := armeabi-v7a
构建输出 - 请参阅 x86
我注意到 setup-app.mk
文件中提到了 NDK_APP_ABI
和 NDK_DEFAULT_ABIS
。这些是否应该覆盖 Application.mk
中包含的内容?
是否可以在 build.gradle
文件中指定变量,这些变量将传播到 setup-app.mk
文件中?
在哪里可以找到相关文档的最佳位置? - Google 目前文档非常稀少。
是的,技术原因是gradle在它生成的ndk-build的命令行指定了APP_ABI。对于 gnu make,命令行参数会覆盖 Makefile 中编写的任何内容。
Make 有 override
关键字可以帮助...只是这会破坏 externalNativeBuild 的精致结构。如果您希望您的 ndkBuild 与 Android Studio 合作,请让您的脚本尽可能简单和干净。
gradle 插件使用 abiFilters
来调整构建。其实官方文档describe 写的还不错
在构建 NDK 应用程序时,Android Studio 是否应该忽略 Application.mk
中的值?
我已如下更改 Application.mk
,但我的项目仍在构建 x86
、mips
等。它应该只构建 armeabi-v7a
#APP_ABI := all
APP_ABI := armeabi-v7a
构建输出 - 请参阅 x86
我注意到 setup-app.mk
文件中提到了 NDK_APP_ABI
和 NDK_DEFAULT_ABIS
。这些是否应该覆盖 Application.mk
中包含的内容?
是否可以在 build.gradle
文件中指定变量,这些变量将传播到 setup-app.mk
文件中?
在哪里可以找到相关文档的最佳位置? - Google 目前文档非常稀少。
是的,技术原因是gradle在它生成的ndk-build的命令行指定了APP_ABI。对于 gnu make,命令行参数会覆盖 Makefile 中编写的任何内容。
Make 有 override
关键字可以帮助...只是这会破坏 externalNativeBuild 的精致结构。如果您希望您的 ndkBuild 与 Android Studio 合作,请让您的脚本尽可能简单和干净。
gradle 插件使用 abiFilters
来调整构建。其实官方文档describe 写的还不错