eclipse下使用gradle配置NDK环境编译jni源码:利用ldLibs加载libraries,怎么设置本地libraries的查找路径?

vivien2004 2016-01-01 10:21:25
本人在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
}
...全文
133 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr.陈序猿 2016-04-21
  • 打赏
  • 举报
回复
请问楼主问题解决了吗,我也遇到了相同的问题

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧