使用第三方so库经常会启动闪退遇到这个问题java.lang.UnsatisfiedLinkError: 。。。。各种找不到底层方法,查资料可能是常见的两条:1.包名和类名一定要和底层一直 2.部分人说armeabi和armeabi_v7以及x86三个文件夹里面的so文件必须一致(个人认为这条不一定)。如果您是在5.0及以上系统运行的话可以尝试用个4.0系统的模拟器运行一下如果低版本可以高版本不行,此时还有第三个解决之道,你只要把log调到verbose级别在报错的exception网上找如果发现.so: has text relocations,这很可能是该so库使用了较低版本的sdk,把你的工程targetSdkVersion往下降不行就再降,一般可以解决。因为4.0系统只要能检测的so库就可以直接加载从5.0开始Google搞得比较严格6.0以后更加严格了。
完美解决使用so库报错:java.lang.UnsatisfiedLinkError: 详情是.so: has text relocations
最新推荐文章于 2024-06-29 23:30:17 发布