使用Android Studio時so文件打包不到APK中


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM