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配置需要三步:


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、第三步就是嘗試去殺掉進程



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM