首页 > 代码库 > 如何让自己的Android程序、Service永不被系统kill

如何让自己的Android程序、Service永不被系统kill

具体做法如下:

1. 设置FLAG_PERSISTENT:在AndroidManifest.xml文件中,加入android:persistent="true" 

2. 设置FLAG_SYSTEM:将你写的应用程序放到/system/app/目录下即可。具体操作如下:

A. 使用Cygwincmd进入你工程所在的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源码相应地方稍改下,然后重新编译……

如何让自己的Android程序、Service永不被系统kill