eclipse下使用gradle配置NDK环境编译jni源码:利用ldLibs加载libraries,怎么设置本地libraries的查找路径?
本人在eclipse上使用gradle做批量打包,Android工程里有jni代码,而且jni代码需要加载本地so文件,用build.gradle配置NDK编译环境,详细配置信息如下所示。使用gradle build命令编译,会报错,并给出错误提示:non-system libraries in linker flags: -llabm -linfo,原来使用build.gradle配置NDK编译环境时,并不会使用jni代码里的Android.mk,而是利用build.gradle中的配置项重新生成一个Android.mk文件,比如ldLibs "log", "info", "labm"对应生成LOCAL_LDLIBS := -llog -llabm -linfo,由于"info", "labm"是本地so库,但是build.gradle中没有对这两项加特殊配置,所以生成的Android.mk会误认为"info", "labm"是system libraries,出现cannot find -l***的错误。
所以请问各位大神,怎么配置build.gradle的ndk信息,才能让生成的Android.mk区分本地libraries和system libraries?或者说怎么设置本地libraries的查找路径?
//NDK build
defaultConfig {
ndk {
moduleName "****" // <-- This is the name of my C++ module!
cFlags "-D__STDC_CONSTANT_MACROS" // Define some macros
ldLibs "log", "info", "labm" // Link with these libraries!
}
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
jniLibs.srcDirs = ['libs'] //jni libs direction
jni.srcDirs = ['jni','jni/**,'jni/****','jni/***'] //jni source code direction
}