文件信息检测需要检测以下信息:
* 文件名
* 文件大小
* MD5
* 包名
* Main Activity(主活动)
* Min SDK(允许的最小SDk版本)
* Target SDK(目标SDK版本,即编译后的APK跑在哪个版本的系统上)
文件名、大小和MD5值通过直接分析APK文件获得, 包名、Main Acticity、Min SDK和Target SDK通过扫描apktool反编译后获得的`AndroidManifest.xml`和`apktool.yml`文件获得,参考下面的实例:
![](https://wiki-1252789527.cos.ap-shanghai.myqcloud.com/scan\_model/apktool\_decompiled.png)
包名为`com.pm.clock`,而Main Activity为拼接package和含有android.intent.action.MAIN标签的`<activity>`,此处为`com.sjsj.clockapp.clockmaster.base.activity.WelcomeActivity`
![](https://wiki-1252789527.cos.ap-shanghai.myqcloud.com/scan\_model/android-manifest.png)
![](https://wiki-1252789527.cos.ap-shanghai.myqcloud.com/scan\_model/apktool-yml.png)
* minSdk是16
* targetSDK是28