我正在使用AndroidStudio1.4和带有NDK支持的实验性插件(com.android.tools.build:gradle-experimental:0.2.0)。
该项目有一个C文件,并通过一个静态库链接其余的本机代码,如下所示:
android.ndk {
moduleName = "native"
ldFlags += ["-g"]
ldFlags += ["-L/Users/me/Desktop/MyApp/app/src/main/jni", "-lnative"]
}这对我有用,从jni文件夹链接libnative.a。
但是我想指定本机库相对于项目的位置。
我该怎么做呢?
谢谢。
发布于 2015-10-09 23:15:37
android.ndk {
moduleName = "native"
ldFlags += ["-g"]
ldLibs += ["-L", file("src/main/jni").absolutePath, "-lnative"]
}请注意,我使用的是ldLibs,而不是ldFlags --它们在构建链接器命令行时使用的方式略有不同。
实际上,如果您只想添加一个库,最好的语法是
ldflags += file("src/main/jni/libnative.a").absolutePath(链接器不需要在这个"src/main/jni"目录中查找其他库)。
文件()相对于当前模块;如果希望指定相对于当前项目的路径,请使用文件()。
https://stackoverflow.com/questions/33046658
复制相似问题