Android rom开发:安装带so库的apk后导致系统运行异常,提示其他apk stopped

项目上遇到了带so库的apk在安装在盒子上之后,盒子起机经常出现系统运行异常的现象,弹出许多个弹框提示xxx has stopped,如下图:
这里写图片描述
这里写图片描述
几经排查,确定是apk的so库与系统里面其他apk所使用的so库位数不一致导致的,apk里面使用的全部为32位的so,然而其他很多apk是使用64位的so。后面问了下开发apk的工程师有没有在AndroidManiFest.xml里面添加android:sharedUserId=”android.uid.system”属性,答曰:有。我真是呵呵哒。。。兄dei,apk有so库的前提下,这个属性不能乱加啊,又不是必须加。这里写图片描述
原来apk是拥有系统级权限的,难怪会把其他带跑偏。对于系统权限级别的应用,系统在加载so的时候貌似会遵循这样一个原则:如果首个应用加载的是32位/64位的so,那么就默认会以32位/64位so为基准去加载其他的系统级别应用的so,于是乎就造成了系统加载so错乱。但是非系统权限级别的apk的so则不会存在此问题,不论是32还是64都不会影响到其他系统权限级别的so的加载。

解决办法:
去掉AndroidManiFest.xml里面的android:sharedUserId=”android.uid.system”之后,重新运行,验证ok。

总体而言,关于so库问题以下2点需要注意:
1.so库位数
2.apk的权限级别,清单文件里面是否有android:sharedUserId=”android.uid.system”属性

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值