0
点赞
收藏
分享

微信扫一扫

Android 进程常驻(0)----MarsDaemon使用说明


这是一个轻量级的库,配置几行代码,就可以实现在​​Android​​上实现进程常驻,也就是在系统强杀下,以及360获取root权限下,clean master获取root权限下都无法杀死进程

支持系统2.3到6.0

支持大部分设备,包括三星,华为,oppo,nexus,魅族等等

可以简单对开机广播进行保护

github地址:

​​https://github.com/Marswin/MarsDaemon​​

原理分析:

​​Android 进程常驻(0)----MarsDaemon使用说明​​

​​Android 进程常驻(1)----开篇​​

​​Android 进程常驻(2)----细数利用android系统机制的保活手段​​

​​Android 进程常驻(3)----native保活5.0以下方案推演过程以及代码详述​​

​​Android 进程常驻(4)----native保活5.0以上方案推演过程以及代码详述​​

​​Android 进程常驻(5)----开机广播的简单守护以及总结​​

正文:

Marsdaemon配置需要三步:

进程名可以自定义

见/MarsDaemon/DemoMarsdaemon/src/main/AndroidManifest.xml


Android 进程常驻(0)----MarsDaemon使用说明_Android

service1是应用中有业务逻辑的需要常驻进程的service,其他三个组件都是额外创建的,里面不要做任何事情,都是空实现就好了

2、用你的Application继承DaemonApplication,然后在回调方法getDaemonConfigurations中返回一个配置,将刚才注册的进程名,service类名,receiver类名传进来。

代码/MarsDaemon/DemoMarsdaemon/src/main/​​Java​​/com/marswin89/marsdaemon/demo/MyApplication1


Android 进程常驻(0)----MarsDaemon使用说明_Android_02

此时如果你想在自己的application里面复写attachBaseContext方法的话,发现他已经被写为final,因为我们需要抢时间,所以必须保证进程进入先加载Marsdaemon,如果你想在attchBaseContext中做一些事情的话,可以复写attachBaseContextByDaemon方法。

如果你的Application已经继承了其他的Application类,那么可以参考Appliation2,在Application的attachBaseContext的时候初始化一个DaemonClient,然后调用他的onAttachBaseContext同样可以实现,当然了,他同样需要一个配置来告诉他我们刚才在menifest中配的信息

代码代码/MarsDaemon/DemoMarsdaemon/src/main/java/com/marswin89/marsdaemon/demo/MyApplication2


Android 进程常驻(0)----MarsDaemon使用说明_保活_03

3、第三步就是尝试去杀掉进程


举报

相关推荐

0 条评论