如何让android程序不被杀死

简单地说,就是将自己写的Service变成Core Service,即将自己写的程序提升为系统级别的程序,这样在任何情况下它都不会被kill掉。
要想自己写的Service提升为Core Service,应用程序需要设置两个标志:FLAG_PERSISTENT和FLAG_SYSTEM。

具体做法如下:
1. 设置FLAG_PERSISTENT:在AndroidManifest.xml文件中,加入android:persistent="true" ;

2. 设置FLAG_SYSTEM:将你写的应用程序放到/system/app/目录下即可。具体操作如下:
A. 使用Cygwin或cmd进入你工程所在的bin目录中,然后执行如下两条命令:
adb remount
adb push yourpackage.apk /system/app/
命令adb remount是为了获取系统目录的临时操作权限,然后使用push命令将自己写的程序包上传到系统应用程序目录中。

B. 重启手机。开机后,在应用列表中就可以看到你写的程序了。
需要说明的是:系统程序不能像非系统程序那样使用adb install yourpackage.apk来安装apk包,我们只需要将apk包拷贝到/system/app/目录下重启即可。如果使用adb install的方式,那么FLAG_SYSTEM标志不会被设置,FLAG_PERSISTENT标志也将不起任何作用。

C. 如果需要卸载自己写的系统应用程序,可执行如下命令:
adb remount
adb shell rm /system/app/yourpackage.apk

另外,还需要说明的是,如果想在模拟器中加入自己写的系统级应用程序,好像不行,因为将apk复制到/system/app/下后,还必需重启,但模拟器一重启,系统目录也将恢复初始状态。不过网上好像有人做到了,方法也很简单,就是将Android源码相应地方稍改下,然后重新编译……
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值