我正在尝试使用实验性插件编译 native 代码。此代码引用驻留在不同位置的头文件
在过去的 Android.mk 时代,我只需添加 LOCAL_C_INCLUDES
并将其指向头文件的位置。
但是当我没有 Android.mk 时,如何通过 gradle 构建脚本来做到这一点?
gradle 中 LOCAL_C_INCLUDES
的等效项是什么?
我试过了
android.ndk {
moduleName = "mymodule"
cppFlags.add("-I${file("C:\\Android\\JNI\\inc")}".toString())
}
但是没有成功。
找不到头文件:“my_file.h
没有这样的文件或目录。”
最佳答案
你到底想做什么?如果您需要将头文件添加到您的mymodule
库中,您可以修改:
sources {
main {
jni {
exportedHeaders {
srcDir "src/main/headers"
}
}
}
}
属性。
但如果您想添加外部包含文件夹,则需要提供更多信息。一般来说,这并不像添加一些外部目录那么简单。请记住,您正在交叉编译。每个平台的这些 header 都相同吗?如果是这样,那就没问题,但是如果您需要链接库,则必须在链接器参数中包含它们的路径。您应该查看experimental android native gradle plugin .
关于android - 如何使用实验性 Gradle 包含头文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34150633/