system/priv-app和system/app

手机system目录下有两个文件夹:app和priv-app,手机被root后,通过adb push可以把apk推到这两个目录,作为系统apk用户无法删除。
它们的区别在于,priv-app中的service是不能被kill掉的,就算通过adb kill掉后系统会重新拉起:
这里写图片描述

图片太小,看不清楚,就是:

Line 14879: 09-28 10:07:06.352  1624  2165 W ActivityManager: Scheduling restart of crashed service com.xxx.xxx/.xxx.xxxin 1000ms
    Line 14907: 09-28 10:07:06.366  1624  2165 I ActivityManager: Start proc 5588:com.xxx.xxx/u0a96 for restart com.xxx.xxx

好处是app可以保活,并且能拿到最多的权限;坏处就是,无法正常升级,因为一被kill马上又被拉起来,并且升级完成后,再起来的还是旧版本的service。

为这事研究了两天,我们的app要预装到终端手机,需要保活,并且尽量减少终端厂商的工作量,如果能解决升级的问题,对于终端厂商来说就只需要把应用push到priv-app下就可以了。然而,没有找到解决升级的办法,最终采用的方案是push到system/app,系统通过一个service(如phone)来bind我们的service,一旦disconnect之后再来bind,实现保活。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值