項(xiàng)目管理遷移到gradle已經(jīng)用了大半年了凯楔,對(duì)so文件的添加了解的還不清楚,直到今天經(jīng)過各種試驗(yàn)神汹,總算是得出一些心得曹仗。
因?yàn)轫?xiàng)目需要集成喜馬拉雅的SDK被冒,他們提供了播放器的so庫(kù)军掂,按照他們的官方文檔一步一步去集成,包括參考他們SDK DEMO的例子昨悼,嘗試了快一天蝗锥,一直報(bào)錯(cuò),報(bào)錯(cuò)的原因是找不到so文件率触,我添加so的方法如下:
1.在project/src/main/目錄下建立jniLibs
2.復(fù)制SDK提供的armeabi文件夾放到j(luò)niLibs下终议,build.gradle文件無(wú)需修改。
3.編譯運(yùn)行葱蝗,無(wú)法成功穴张。
經(jīng)過多次嘗試,我又嘗試著自己在jniLibs下建了另外一個(gè)文件夾armeabi-v7a两曼,然后把a(bǔ)rmeabi文件下的兩個(gè)so文件復(fù)制到此目錄下:
編譯成功皂甘,運(yùn)行也成功,播放器能正常播放了悼凑。
armeabi跟armeabi-v7a目錄下的兩個(gè)so文件是一樣的偿枕,但是不知道為什么加了armeabi-v7a這個(gè)目錄就好了。
確認(rèn)so文件是否打包到apk了可以用adb 查看/data/app/com.xxx.xxx/lib/arm(需要root權(quán)限)下是否生成了.so文件户辫,比如上面編譯成功后渐夸,會(huì)在此目錄下生成相應(yīng)的so文件
之前用高德地圖的時(shí)候也碰到過這個(gè)問題,so無(wú)法打包到apk渔欢,高德的SDK也只是提供了armeabi墓塌,遇到這種情況,我們可以自己建立一個(gè)armeabi-v7a的目錄去解決問題奥额。