我正在尝试使用实验插件编译本机代码。此代码引用位于不同位置的头文件
在旧的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
没有此类文件或目录。"
答案 0 :(得分:2)
你到底想要做什么?如果您需要将头文件添加到mymodule
库,则可以修改:
sources {
main {
jni {
exportedHeaders {
srcDir "src/main/headers"
}
}
}
}
属性。
但是如果你想添加一个外部包含文件夹,你需要提供更多信息。通常,它不像添加一些外部目录那么简单。你正在交叉编译,请记住。每个平台的标题是否相同?如果是这样你很好但是如果你需要链接库,你必须在链接器参数中包含它们的路径。您应该结帐experimental android native gradle plugin。