Android 進程常駐(0)----MarsDaemon使用說明

這是一個輕量級的庫,配置幾行代碼,就能夠實如今android上實現進程常駐,也就是在系統強殺下,以及360獲取root權限下,clean master獲取root權限下都沒法殺死進程java

支持系統2.3到6.0android

支持大部分設備,包括三星,華爲,oppo,nexus,魅族等等git

能夠簡單對開機廣播進行保護github


github地址:app

https://github.com/Marswin/MarsDaemonspa

原理分析:.net

Android 進程常駐(0)----MarsDaemon使用說明
xml

Android 進程常駐(1)----開篇
blog

Android 進程常駐(2)----細數利用android系統機制的保活手段
繼承

Android 進程常駐(3)----native保活5.0如下方案推演過程以及代碼詳述

Android 進程常駐(4)----native保活5.0以上方案推演過程以及代碼詳述

Android 進程常駐(5)----開機廣播的簡單守護以及總結



正文:

Marsdaemon配置須要三步:


一、明確本身須要常駐的進程service,建立一個和他同進程的receiver,而後在另一個進程中建立一個service和一個receiver,並寫在Manifest中。進程名能夠自定義

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


service1是應用中有業務邏輯的須要常駐進程的service,其餘三個組件都是額外建立的,裏面不要作任何事情,都是空實現就行了


二、用你的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




三、第三步就是嘗試去殺掉進程

相關文章
相關標籤/搜索