Unity 接入第三方SDK打包闪退
在接入穿山甲sdk的时候,打包apk的时候出现适配部分机型,部分机型闪退,出现如下错误
图中可以看出是.so文件引起的问题。
接入第三方sdk的时候,有时候常常需要导入第三方jar包以及aar包,有些还需要依赖一些.so文件,.当依赖于.so文件的时候就需要做好.so文件的管理
常见.so文件有以下几个平台
当把所有平台一股脑导进Unity的时候,在打包APK的时候是会报错的,因为这几种.so文件并不能共存(原因以下阐述),报如下的错误
我们打开Unity安装包(或者通过打包空的Android平台的APK),可以发现APK内部只有两个平台的.so文件
通过观察,我们得到Unity在打包apk的时候会把Unity安装路径下的.so文件打进apk,这也是我们把全平台的.so文件丢进Unity在打包apk时候报错的原因。综上我们知道了在平时开发apk的时候只需要上图中的两个平台.so文件即可。
综上分析,我在排查问题的时候发现穿山甲第三方sdk提供的aar包。内部如下(观察路径可知)
在aar内部存在与Unity不兼容的平台.so文件,删除不兼容的两个平台后,打出apk可以正常适配所有机型。