版权声明:本文为博主原创文章,未经博主允许不得转载。

这是一个轻量级的库,配置几行代码,就可以实现在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配置需要三步:

1、明确自己需要常驻的进程service,创建一个和他同进程的receiver,然后在另外一个进程中创建一个service和一个receiver,并写在Manifest中。进程名可以自定义

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

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

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

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

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

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

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

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

Android 进程常驻(0)----MarsDaemon使用说明的更多相关文章

  1. Android 进程常驻(使用第三方MarsDaemon)(虽然不可用,但是还是保留下。)

    github地址: https://github.com/Marswin/MarsDaemon 原理分析: Android 进程常驻(0)----MarsDaemon使用说明 Android 进程常驻 ...

  2. Android 进程常驻----开机广播的简单守护以及总结

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

  3. Android 进程常驻、进程守护、进程保活技术的总结

    转载自:http://blog.csdn.net/marswin89/article/details/50917098 这是一个轻量级的库,配置几行代码,就可以实现在Android上实现进程常驻,也就 ...

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

    这是一个轻量级的库,配置几行代码.就能够实如今android上实现进程常驻,也就是在系统强杀下,以及360获取root权限下.clean master获取root权限下都无法杀死进程 支持系统2.3到 ...

  5. Android 进程常驻----native保活5.0以上方案推演过程以及代码

    正文: 上一篇我们通过父子进程间建立双管道,来监听进程死掉,经过测试,无耗电问题,无内存消耗问题,可以在设置中force close下成功拉起,也可以在获取到root权限的360/cleanmaste ...

  6. Android 进程常驻----native保活5.0以下方案推演过程以及代码

    正文: 今天继续昨天,一鼓作气,争取这个礼拜全部写完. 上一篇文章留了一个别人的github链接,他里面的native保活实现方案也是大多数公司采用的方案. 我们先来讲一下他的方案. 他是首先开启一个 ...

  7. Android进程保活

    Android进程回收机制 Low Memory Killer原理 微信团队原创分享:Android版微信后台保活实战分享(网络保活篇) 微信团队原创分享:Android版微信后台保活实战分享(进程保 ...

  8. (转)Android Service 双进程常驻后台(2)

    最近项目用到Service常驻后台,研究了一下发现手Q和微信都是使用了双进程来保证一键清理后自动复活,copy网上双进程Service的例子,再结合onTrimMemory(),基本实现一键清理后自动 ...

  9. Android 7.0 FileProvider 使用说明

    FileProvider FileProvider 这个组件在Android 22.0.0 (也就是 Android 5.0 ) 版本下加入进Android系统,该组件是ContentProvider ...

随机推荐

  1. HDU Train Problem I (STL_栈)

    Problem Description As the new term comes, the Ignatius Train Station is very busy nowadays. A lot o ...

  2. 在MAC下怎样用SSH连接远程LINUXserver

    首页,打开MAC的命令终端,检查是不是用root用的登录的,假设不是的话请输入命令:sudo -i切换到root. 然后,输入:ssh ip地址,假设主机存在的话会提示你输入password,输入正确 ...

  3. iOS 手势识别器概述

    手势识别器 iOS 手势识别器(UIGestureRecognizer) 点击手势(UITapGestureRecognizer) 滑动手势(UISwipeGestureRecognizer) 旋转手 ...

  4. nodeJS npm grunt grunt-cli

    1.安装好nodeJS后 ,一般都会把npm也安装好的.nodeJs集成npm的,可通过在cmd 分别运行 node -v和 npm -v来查看他们的版本,假设显示可说明可继续以下的操作 2.想安装g ...

  5. PHP第八课 字符串拆分经常使用函数

    课程概要: 通过这节课可以对字符串进行主要的操作. 字符串知识点: 1.字符串的处理介绍 2.经常使用的字符串输出函数 3.经常使用的字符串格式化函数 4.字符串比較函数 5.正則表達式在字符串中的应 ...

  6. 浅谈SaaS应用开发的难度

    近期做SaaS应用的非常多,这样的模式是未来的一种趋势,这样的模式的最大优点就是云计算的优点--节约资源.网上有非常多人觉得SaaS非常easy,就是一个多用户租赁模式.这样的认识也不能说不正确.由于 ...

  7. 公布自己的pods到CocoaPods trunk 及问题记录

    这两天准备把之前写的一些小玩意加入到pods库中去,參考了一些资料后进行操作,实际中也遇到了一些问题,记录下来.问题及解决方案在后面. 參考内容转载例如以下: 首先更新了用trunk之后,CocoaP ...

  8. Ubuntu 16.04 安装 Open Jdk

    sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update sudo apt-get install openjdk-7-jdk

  9. bzoj1066: [SCOI2007]蜥蜴(最大流)

    1066: [SCOI2007]蜥蜴 题目:传送门 题解: 哇QTT大佬一眼秒算法...ORT 其实很容易就可以看出来是一道最大流 因为有边的使用限制,那么就可以直接当成是流量来处理嘛 因为是对点进行 ...

  10. web security

    brute force cracking   暴力破解 Brute force (also known as brute force cracking) is a trial and error me ...