Skip to content

fengzhizi715/AnalysisApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AnalysisApp

这是一个快速分析某个app使用哪些sdk的小工具。对广告sdk进行了特别的关照,因为一开始是想写一个分析使用哪些广告sdk的工具。

大致思路是读取android app的AndroidManifest.xml文件,将其转换成相应的对象。然后遍历该对象中Activity、Service、meta-data、Receiver等元素列表,将其跟sdk的特征值进行匹配。如果匹配成功表示app包含该sdk,并记录下来。

Handler用于处理sdk的特征值,它大部分使用groovy编写,因为groovy的语法糖可以少写很多代码。

整个项目使用Spring来管理各个Handler,使用责任链(Chain of Responsibility)模式将各个Handler串联起来。

对于某些特别复杂的Handler,比如TencentHandler和BaiduHandler,采用DFA的算法进行优化。

Main.java的main()是整个程序的入口,只需修改AndroidManifest.xml在main()的路径即可运行。

如何获取app的AndroidManifest.xml文件不在本工具的使用范围之列。


这个工具可以分析的sdk ,目前总共100个,还在不断添加中。

About

一个快速分析某个app使用哪些sdk的小工具

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published