- 1、本文档共2页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
上海育创名师分享Android系统进程防 杀笔记.pdf
Android 系统进程防杀大全——北风教育整理
写在前面:题主只是贴出Android 系统进程防杀方法,但我强烈建议不要这么做,
不仅仅从用户角度考虑,作为Android 开发者也有责任去维护Android 的生态环
境。设计一款流氓软件,对于开发者来说,简直是真流氓!看到现在很多Android
开发工程师,主力机居然是iPhone 而不是Android 设备,题主感到相当悲哀。
进入正题:
对于Android 系统进程防杀方法,从技术角度概括一下现在普遍的防杀方法:
1、白——直接按照系统那样,生成前台service,在notification 栏可见到一
天bar 横在那里,这种是系统提供的合法保活方式。
2、灰——在白的方式上,利用系统漏洞开启前台service,但是不会在N 栏上
出现一条bar,这个bug 在Android4.3 后已经被Google 修复。
3、黑——最无耻的方式,拉帮结派。例如百度全家桶那样,一人得道,全家开
启。呵呵哒,我不会告诉你像微信这样的应用在我的手机界面有二三十条唤醒路
径。其他的如脉脉,小米,陌陌之类的APP 也都不是神马善类,同样几十条唤醒
路径。所以,你就可以知道为什么Android 机子会慢慢卡成一坨翔,这他妈没
root 过的手机开个bat 系的APP,能把你一大堆APP 在后台给你搞活了,这就是
为啥安卓越用越卡的原因了。
4、还有一种属于底层一些的,就是利用C Cpp jni fork 一个C 进程。但是这种
方式也在Android L 上被Google 封杀了。
5、另外的方法补充介绍:
(1)Service 设置成START_STICKY,kill 后会被重启(等待5 秒左右),重传
Intent,保持与重启前一样
(2)通过 startForeground 将进程设置为前台进程,做前台服务,优先级和前
台应用一个级别,除非在系统内存非常缺,否则此进程不会被 kill
(3)双进程Service:让2 个进程互相保护,其中一个Service 被清理后,另
外没被清理的进程可以立即重启进程
(3)QQ 黑科技:在应用退到后台后,另起一个只有 1 像素的页面停留在桌面上,
让自己保持前台状态,保护自己不被后台清理工具杀死
(4)在已经root 的设备下,修改相应的权限文件,将App 伪装成系统级的应用
(Android4.0 系列的一个漏洞,已经确认可行)
(5)Android 系统中当前进程(Process)fork出来的子进程,被系统认为是两个
不同的进程。当父进程被杀死的时候,子进程仍然可以存活,并不受影响。鉴于
目前提到的在Android-Service 层做双守护都会失败,我们可以fork 出c 进程,
多进程守护。死循环在那检查是否还存在,具体的思路如下(Android5.0 以下
可行)
(6)用C 编写守护进程(即子进程),守护进程做的事情就是循环检查目标进程
是否存在,不存在则启动它。
(7)在NDK 环境中将1 中编写的C 代码编译打包成可执行文件
(BUILD_EXECUTABLE)。
(8)主进程启动时将守护进程放入私有目录下,赋予可执行权限,启动它即可。
(9)联系厂商,加入白名单
TIPS : 面对各种流氓软件后台常驻问题,建议使用 “绿色守护”来解决,可是杀
掉那些第三方清理工具难以清除的后台程序
文/闭关写代码、clock (知乎作者)
文档评论(0)