1,需要在build中添加如下配置,這是必備的
Android {
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
}
2,如果添加了該項配置出現了問題可能原因是引用了第三方包引起
比如我這邊引用了xutils這個包,因為該包中也有一個.so的文件libwebpbackport.so,所以該包中配置了打包的命令導致上述(第一條1原因)配置失效,不過經過測試,也有打包成功的時候,不過大多數時候都是失敗的,具體原因還有待研究。
compile 'org.xutils:xutils:3.3.36'
最后把該包去掉,自己的.so文件就被打包到APK中了,具體查看如下:
root@android:/data/data/com.wizarpos.company # ls
cache
files
lib
shared_prefs
root@android:/data/data/com.wizarpos.company # cd lib/
root@android:/data/data/com.wizarpos.company/lib # ls
libwebpbackport.so
root@android:/data/data/com.wizarpos.person/lib # ls
libjni_cloudpos_rfcard.so
libjni_wizarpos_hsm.so
root@android:/data/data/com.wizarpos.person/lib #
3,如何解決該問題
要解決這個問題可以不是用gradle引用,改為jar包引用,步驟如下
首先找到該包的地址如:http://dl.bintray.com/wyouflf/maven/org/xutils/xutils/3.3.36/
下載對應的xutils-3.3.36.aar,之后解壓該文件,提取其中的.so和class.jar文件,其中.so在jni文件夾中
class.jar在根目錄中,修改一下class.jar的名字xutils3.3.36.jar,這樣方便查看版本。
轉自:http://blog.csdn.net/fhl13017599952/article/details/52120739