问题:
可以在 NDK DSL 块中定义 LOCAL_SRC_FILES Gradle?
原始答案(已弃用):
目前,Gradle 插件不支持此功能。考虑使用传统的 Android.mk 文件。
更新的答案:
随着 Gradle 插件 0.4.0 的发布,现在可以使用排除模式实现这一点。
android.sources { main { jni.source { srcDirs = ["~/srcs/jni"] exclude "**/win.cpp" } } }
静态替代解决方案库:
要在不使用 LOCAL_SRC_FILES 的情况下从 NDK 构建中排除文件,可以采取不同的方法。
model { android.ndk { moduleName = "hello-jni" abiFilters += "$appAbi".toString() ldFlags += "$staticLib".toString() ldLibs += "log" cppFlags += "-std=c++11" } }
LOCAL_MODULE := staticLib LOCAL_SRC_FILES := HelloJni.cpp LOCAL_CPPFLAGS += -std=c++11 include $(BUILD_STATIC_LIBRARY)
此方法有效地从常规 NDK 构建中排除指定文件,并且确保必要的符号可用于调试。
注意:请记住在修改排除设置后触发“构建/清理”。
以上是如何从 NDK Gradle DSL 中的 LOCAL_SRC_FILES 中排除文件?的详细内容。更多信息请关注PHP中文网其他相关文章!