开发时我们经常会用到第三方的jar包或者.so动态链接库,在用这些文件的时候需要放在编译器指定的
位置才能被正确的打包到.apk文件中
一、问题
在eclipse开发Android时.so库只需要放在armeabi文件夹中,并且armeabi文件夹和普通jar包放在libs
下即可,但是在用AndroidStudio开发的时候so库就有所不同了,如果按照在eclipse中目录结构放置回报
java.lang.UnsatisfiedLinkError: Couldn't load msc: findLibrary returned null
找不到库的错误
二、解决
方法一:
在项目的src->main目录下新建一个文件夹,命名为jniLibs,然后把带有.so库文件的文件夹armeabi
拷贝到jniLibs目录下即可
Google引入的jniLibs目录可以帮我们把这些库文件打包到apk中(AS 0.7.2中很强大的功能)
补充:armeabi文件夹表示的是手机cpu的类型为arm
方法二:
手动生成jar后和其他jar包一样放置在libs目录下
步骤:
1.首先要把.so库文件压缩在执行目录的压缩包中,目录结构如下(严格遵守)
2.把压缩包后缀名改为.jar,然后拷贝到libs目录下即可引用成功
三、小结
自己动手丰衣足食,遇到问题看看Google的文档,上网查查资料,虽然耗费一些时间,但是收获满满