Android Studio 1.4,实验性插件,JNI 文件夹的路径?
Android Studio 1.4, experimental plugin, path to JNI folder?
我正在使用 Android Studio 1.4 和实验性插件(com.android.tools.build:gradle-experimental:0.2.0),支持 NDK。
该项目有一个 C 文件,并通过静态库链接其余的本机代码,如下所示:
android.ndk {
moduleName = "native"
ldFlags += ["-g"]
ldFlags += ["-L/Users/me/Desktop/MyApp/app/src/main/jni", "-lnative"]
}
这对我有用,从 jni 文件夹链接 libnative.a。
但我想指定本机库相对于项目的位置。
我到底该怎么做?
谢谢。
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"
目录中查找其他库)。
file()是相对于当前Module;如果要指定相对于当前项目的路径,请使用 File()。
我正在使用 Android Studio 1.4 和实验性插件(com.android.tools.build:gradle-experimental:0.2.0),支持 NDK。
该项目有一个 C 文件,并通过静态库链接其余的本机代码,如下所示:
android.ndk {
moduleName = "native"
ldFlags += ["-g"]
ldFlags += ["-L/Users/me/Desktop/MyApp/app/src/main/jni", "-lnative"]
}
这对我有用,从 jni 文件夹链接 libnative.a。
但我想指定本机库相对于项目的位置。
我到底该怎么做?
谢谢。
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"
目录中查找其他库)。
file()是相对于当前Module;如果要指定相对于当前项目的路径,请使用 File()。