AndroidStudio开发jni不加载libs的so,只加载jniLibs的so

g9526743 2016-07-14 12:15:35
AndroidStudio开发jni不加载libs的so,只加载jniLibs的so,找了很多的办法,只有把libs文件夹改成jniLibs文件夹app才正常,因为ndk自动生成libs文件夹,有没有办法不用手动改libs文件夹就能加载里面的so文件的?
...全文
5556 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
梦江月 2017-04-07
  • 打赏
  • 举报
回复
sourceSets { main { jni.srcDirs = ['libs', 'src/main/jniLibs/'] } } 以此类推
g9526743 2016-07-15
  • 打赏
  • 举报
回复
你的还是不行,换成这个才行: sourceSets.main { jniLibs.srcDirs = ['src/main/libs'] //设置目标的so存放路径 jni.srcDirs = [] //disable automatic ndk-build call }, 以下这些也是不行,能解析下吗?我不太懂配置: sourceSets.main { jniLibs.srcDir 'src/main/libs' jni.srcDirs = [] //disable automatic ndk-build call } sourceSets { main { jniLibs.srcDirs = ['libs'] } }
网易云捕 2016-07-15
  • 打赏
  • 举报
回复
引用 2 楼 g9526743 的回复:
你的还是不行,换成这个才行: sourceSets.main { jniLibs.srcDirs = ['src/main/libs'] //设置目标的so存放路径 jni.srcDirs = [] //disable automatic ndk-build call }, 以下这些也是不行,能解析下吗?我不太懂配置: sourceSets.main { jniLibs.srcDir 'src/main/libs' jni.srcDirs = [] //disable automatic ndk-build call } sourceSets { main { jniLibs.srcDirs = ['libs'] } }
这些都是闭包,建议了解下groovy脚本的基本概念 jniLibs.srcDirs = ['src/main/libs'] //这一句是设置目标的so存放路径,也就是组装到apk中的so路径 jni.srcDirs = [] //这一句是禁用gradle默认的ndk-build,防止AS自己生成android.mk编译jni工程 参考:http://stackoverflow.com/questions/21096819/jni-and-gradle-in-android-studio
网易云捕 2016-07-14
  • 打赏
  • 举报
回复
在模块的build.gradle脚本中指定

sourceSets {
        main {
            jniLibs.srcDirs = ['src/main/libs']     //设置目标的so存放路径
        }
    }

80,351

社区成员

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

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