解决Android studio中使用vitamio出现UnsatisfiedLinkError异常的问题


真正的做法是:

1、在工程目录下的main方法里面创建jniLibs文件夹,并在jniLibs文件夹下再创建一个子文件夹armeabi,然后再把Vitamio的 .so文件放到armeabi文件下

2、以下是目录结构

|src
|--main/
|----java/
|----res/
|----jniLibs/
|------armeabi/
|--------xxx.so


下面是一年多前写的例子了,不具有参考性


这几天算是被vitamio和android studio折腾够了,由于刚从eclipse转到android studio,以前在eclipse里面通用的方法放在AS上基本上就是挂的节奏。

并且由于AS是一个新工具,出现问题,能百度到的概率很小。

这两天为了解决这vitamio在AS上的坑爹问题,基本上翻遍了墙内,墙外。从坑爹的百度到大名鼎鼎的Stack Overflow,最终给人的答案都不仅如意。

分析:

 由于“gradle” 目前为止还不支持 .so 库文件打包入 apk 。如果使用的第三方库中包含 .so 文件 (一般是 libs\armeabi\ xxx.so ) , 那么只要在代码中出现 “System.loadLibrary( "xxx" ),就一定会在这里抛出异常 UnsatisfiedLinkError 。


为了让其他人不再走我所走过的弯路,在此给出一个比较靠谱的解决方案

1) 在硬盘任意位置建立空文件夹 "lib"(注意名字是 "lib"而不是 "libs" )
2)
把原来的 libs目录下的 armeabi文件夹拷贝至刚建立的 lib目录下.armeabi文件夹中的.so文件也会被一并拷入)
3)
将刚建立的 "lib"目录打包压缩成 .zip文件,同时改名为 “armeabi.jar"
4)
armeabi.jar放入原来的 libs目录下(和其他第三方jar包放在一起)

5) 在module的Buidle修改

dependencies{

    compile fileTree(dir: 'libs',include: '*.jar')

}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值