Android Studio,一个带有 NDK 库的项目,使用 ndkBuild 和 Android.mk。我的构建使用静态库依赖项,静态库作为调试版本和发布版本存在于单独的目录中。生成文件如下:
#Ref to libfoo
include $(CLEAR_VARS)
LOCAL_MODULE := foo
LOCAL_SRC_FILES := $(FOOPROJECT)\foo\build\intermediates\ndkBuild\debug\obj\local\$(TARGET_ARCH_ABI)\libfoo.a
include $(PREBUILT_STATIC_LIBRARY)
LOCAL_SRC_FILES
将 debug
风格硬编码为路径的一部分。不好。我想在那里使用“调试”或“发布”,具体取决于当前的构建类型。
当前构建类型是否可以作为变量在 makefile 中使用?如果没有,是否可以通过 gradle 文件将其传递给 ndk-build?
最佳答案
编辑:迈克尔的 APP_OPTIM
更好。他写完我就接受。现在,我将把它留在这里。
找不到内置变量,使用了 Gradle 技巧:
buildTypes {
release {
externalNativeBuild {
ndkBuild {
arguments "BUILD_TYPE=release"
}}
}
debug {
externalNativeBuild {
ndkBuild {
arguments "BUILD_TYPE=debug"
}}
}
}
然后 Android.mk 中的行变为:
LOCAL_SRC_FILES := $(FOOPROJECT)\foo\build\intermediates\ndkBuild\$(BUILD_TYPE)\obj\local\$(TARGET_ARCH_ABI)\libfoo.a
关于android - 将构建类型 ("debug"/"release") 传递给 ndk-build,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54855057/