Android Studio 导入第三方aar报找不到so库

报错信息:
java.lang.UnstatisfiedLinkError…/system/lib64 couldn’t find “xxxx.so”

对报错问题的分析:
我这边导入的第三方aar 中查看发现对应的so文件是集成在armeabi-v7a 这个目录下,但是我的设备是64位,默认从arm64-v8a 这个目录下开始读取,如果不存在arm64-v8a这个目录,才会往下查询。

定位问题:

  1. 确认自己编译出来的app是否存在对应的文件夹
    -> 从自己的项目路径中找到对应的apk(test.apk)
    -> 然后copy对应的apk(test2,apk)
    -> 修改test2.apk后缀名为zip(test2.zip)
    -> 解压test2.zip 到test2文件
    -> 打开test2/libs
    -> 里面就有对应的文件夹,可以查看报错中提到的arm64-v8a 是否存在对应的so文件

解决办法:
2. 找到对应的供应商,要求他们提供 把so文件放到 arm64-v8a 目录下的aar
3. 在安卓studio中规避其他的so(换句话说就是吧arm64-v8a这个路径下的所有资源都一一规避)

defaultConfig {
        //此处省略上面的自己项目配置信息
        packagingOptions {
        //把arm64-v8下所有的so库文件屏蔽,具体要写几条看libs下面该文件夹下有几个文件
            exclude 'lib/arm64-v8a/xxx.so'
            
			//把armeabi下所有的so库文件屏蔽,具体要写几条看libs下面该文件夹下有几个文件
			exclude 'lib/armeabi/xxx.so'
	
			//把x86下所有的so库文件屏蔽,具体要写几条看libs下面该文件夹下有几个文件
			exclude 'lib/x86/xxx.so'
			
				//把x86_64下所有的so库文件屏蔽,具体要写几条看libs下面该文件夹下有几个文件
			exclude 'lib/x86_64/xxx.so'

        }
    }

这样子就好了,
想要确认最后是否成功规避其他so库了,可以重新查看apk里面的libs,下面是否只有armeabi-v7a这个目录了,如果是即成功

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值