Android app AOP添加埋點技術總結


目標:通過面向切面編程來實現對源代碼無侵入的埋點。
 
  方式 能力 缺點 學習曲線  
XPosed 運行期hook
能hook自己應用進程的方法;
能hook別的應用的方法;
能hook系統方法;
1,手機需要root;
2, 依賴三方包的支持,碎片化嚴重兼容性差;
一般  
DexPosed 運行期hook 能hook自己應用進程的方法; 1,目前不支持4.4以及5.1以上的系統;
2, 依賴三方包的支持,碎片化嚴重兼容性差;
一般  
AspectJ 編譯期字節碼注入
可以在編譯成字節碼的過程中插入代碼;
 
官方有Eclipse插件,但沒有Android Studio插件,需要替換編譯器,環境不好部署; 一般  
ASM 編譯期或者運行期字節碼注入 可以在字節碼中文件或者ClassLoader加載字節碼的時候插入代碼; 需要熟悉字節碼語法; 陡峭  
           
 
最終我選擇了ASM...


免責聲明!

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



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