Android Gradle so文件注意事项

项目管理迁移到gradle已经用了大半年了,对so文件的添加了解的还不清楚,直到今天经过各种试验,总算是得出一些心得。

因为项目需要集成喜马拉雅的SDK,他们提供了播放器的so库,按照他们的官方文档一步一步去集成,包括参考他们SDK DEMO的例子,尝试了快一天,一直报错,报错的原因是找不到so文件,我添加so的方法如下:

1.在project/src/main/目录下建立jniLibs


2.复制SDK提供的armeabi文件夹放到jniLibs下,build.gradle文件无需修改。

3.编译运行,无法成功。

经过多次尝试,我又尝试着自己在jniLibs下建了另外一个文件夹armeabi-v7a,然后把armeabi文件下的两个so文件复制到此目录下:


编译成功,运行也成功,播放器能正常播放了。


armeabi跟armeabi-v7a目录下的两个so文件是一样的,但是不知道为什么加了armeabi-v7a这个目录就好了。

确认so文件是否打包到apk了可以用adb 查看/data/app/com.xxx.xxx/lib/arm(需要root权限)下是否生成了.so文件,比如上面编译成功后,会在此目录下生成相应的so文件


之前用高德地图的时候也碰到过这个问题,so无法打包到apk,高德的SDK也只是提供了armeabi,遇到这种情况,我们可以自己建立一个armeabi-v7a的目录去解决问题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容