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

2021-11-14 科技 94阅读
简单地说,就是将自己写的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. 连接adb,然后执行如下两条命令:
adb remount
adb push your.apk /system/app/
命令adb remount是为了获取系统目录的临时操作权限,然后使用push命令将自己写的程序包上传到系统应用程序目录中。
B. 重启手机。开机后,在应用列表中就可以看到你写的程序了。
需要说明的是:系统程序不能像非系统程序那样使用adb install your.apk来安装apk包,我们只需要将apk包拷贝到/system/app/目录下重启即可。如果使用adb install的方式,那么FLAG_SYSTEM标志不会被设置,FLAG_PERSISTENT标志也将不起任何作用。
C. 如果需要卸载自己写的系统应用程序,可执行如下命令:
adb remount
adb shell rm /system/app/yourpackage.apk
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com