Android app AOP添加埋点技术总结
2024-10-19 00:30:48
目标:通过面向切面编程来实现对源代码无侵入的埋点。
方式 | 能力 | 缺点 | 学习曲线 | ||
XPosed | 运行期hook |
能hook自己应用进程的方法;
能hook别的应用的方法;
能hook系统方法;
|
1,手机需要root;
2, 依赖三方包的支持,碎片化严重兼容性差;
|
一般 | |
DexPosed | 运行期hook | 能hook自己应用进程的方法; | 1,目前不支持4.4以及5.1以上的系统; 2, 依赖三方包的支持,碎片化严重兼容性差; |
一般 | |
AspectJ | 编译期字节码注入 |
可以在编译成字节码的过程中插入代码;
|
官方有Eclipse插件,但没有Android Studio插件,需要替换编译器,环境不好部署; | 一般 | |
ASM | 编译期或者运行期字节码注入 | 可以在字节码中文件或者ClassLoader加载字节码的时候插入代码; | 需要熟悉字节码语法; | 陡峭 | |
最终我选择了ASM...
最新文章
- 数据库 sql server
- 一道无限级分类题的 PHP 实现
- 【PHP面向对象(OOP)编程入门教程】12.重载新的方法(parent::)
- ACM: HDU 1874 畅通工程续-Dijkstra算法
- python第一个hello world注意问题!!
- Android Activity 详述
- Genotype&;&;陨石的秘密
- CSS3之背景色渐变
- 在CentOS下安装配置MySQL(转)
- Delegate,Action,Func,Predicate的使用与区别
- 为Jquery EasyUI 组件加上“清除”功能
- js复习---string
- iOS开发中一些有用的小代码
- 爬虫-request和BeautifulSoup模块
- 亚马逊VE账号运营
- 第61节:Java中的DOM和Javascript技术
- WEB安全之垃圾信息防御措施
- Vue(基础七)_webpack打包工具用法(上)
- C++学习笔记50:队列类模板
- Mybatis JDBC->;Mybatis
热门文章
- [LeetCode] Graph Valid Tree 图验证树
- [LeetCode] Kth Largest Element in an Array 数组中第k大的数字
- [LeetCode] Longest Substring Without Repeating Characters 最长无重复子串
- java Fn键
- springboot @ConfigurationProperties
- jQuery遍历checkbox
- NodeJs入门学习(一)
- neo4j关闭和开启密码访问权限
- OpenCV图像的全局阈值二值化函数(OTSU)
- java编码