Android-GetAPKInfo
项目简介
作为基于 Android 平台的渠道 SDK 的开发者或者联调同学每天都会面对大量的 apk,需要检查他们的包名(packageName)、版本(versionName\versionCode)、应用签名(Signature)等信息,尤其现在 Android 的 V2 签名认证(APK Signature Scheme v2)带来的问题更多,为了提高工作效率,整理了一个获取应用基本信息的系列工具集。
目前主干已经修改为使用 Android Studio 来构建,如果需要使用 Eclipse 来构建,请查看项目分支:
Eclipse:https://github.com/bihe0832/Android-GetAPKInfo/tree/eclipse
目录结构
│
├── AXMLPrinter2_zixie.jar :对于官方工具 AXMLPrinter2 的优化,解决因为不同 api 下 apk 的 AndroidMainfest 编码引起的问题
│
├── AXMLPrinter2_zixie :AXMLPrinter2_zixie.jar 的源码
│ │
├── CheckAndroidSignature.jar :基于官方签名相关的工具 apksigner 的源码改造的安卓签名校验工具
│
├── CheckAndroidSignatureByAPKSig :CheckAndroidSignature.jar 的源码
│
├── GetAPKInfo.jar :一款基于 Java 环境的读取 apk 的包名、版本号、签名、是否使用 V2 签名,V2 签名校验是否通过的工具
│
├── GetApkInfo : GetAPKInfo.jar 的源码
│
├── apksig : Android SDK Build Tools 中关于签名相关的工具 apksigner 的源码(提供了 V2、V3 签名以及校验的方法)
│
└── README.md
备注:除了根目录,每个子项目下面都有对应功能介绍相关的 ReadMe 文件,如果想了解具体项目的详细信息,可以进入子项目查看
使用方法
AXMLPrinter2_zixie.jar
非可执行 jar,主要是对官方工具 AXMLPrinter2 针对不同 api 下 AndroidMainfest 编码不同导致解析异常的优化,解决https://github.com/bihe0832/Android-GetAPKInfo/issues/1 和 https://github.com/bihe0832/Android-GetAPKInfo/issues/5遇到的问题
CheckAndroidSignature.jar
➜ java -jar ./CheckAndroidSignature.jar ./YSDK_Android_1.3.1_629-debug-ysdktest-inner.apk
{"ret":0,"msg":"","isV1OK":false,"isV2":true,"isV2OK":true,"isV3":true,"isV3OK":true,"keystoreMd5":"80fa5a8552e418f6bd805c65bcddf4c8"}
GetAPKInfo.jar
➜ java -jar ./getPackageInfo.jar ./YSDK_Android_1.3.1_629-debug-ysdktest-inner.apk
执行结果: 成功
应用信息:
包名: com.huohoubrowser
版本名: 4.0.1.8
版本号: 4018
签名文件 MD5: f430582429f49b685c3572ba28995e39
V1 签名验证通过: false
使用 V2 签名: false
V2 签名验证通过: false
使用 V3 签名: false
V3 签名验证通过: false
签名验证详细信息: {"ret":0,"msg":"","isV1OK":false,"isV2":true,"isV2OK":true,"isV3":true,"isV3OK":true,"keystoreMd5":"80fa5a8552e418f6bd805c65bcddf4c8"}
GetMoreAPKInfo.jar
➜ java -jar ./GetMorePackageInfo.jar ./test.apk
执行结果: 成功
应用信息:
包名: com.tencent.jygame
版本名: 0.0.1.30
版本号: 287
签名文件 MD5: 634b6933d798de3498f20a9b02452575
SDK 版本:
minSdkVersion:12
targetSdkVersion:25
V1 签名验证通过: true
使用 V2 签名: true
V2 签名验证通过: true
使用 V3 签名: false
V3 签名验证通过: false
签名验证详细信息: {"ret":0,"msg":"","isV1OK":false,"isV2":true,"isV2OK":true,"isV3":true,"isV3OK":true,"keystoreMd5":"80fa5a8552e418f6bd805c65bcddf4c8"}
使用权限列表:
android.permission.INTERNET
android.permission.VIBRATE
android.permission.MOUNT_UNMOUNT_FILESYSTEMS
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.ACCESS_NETWORK_STATE
android.permission.ACCESS_WIFI_STATE
android.permission.READ_PHONE_STATE
GetAPKInfo
近期对 GetAPKInfo 做了调整,后续将在AndroidAppFactory-Sample 中维护,这里仅提供下载链接。对于源码 Github 为:
https://github.com/bihe0832/AndroidAppFactory-Sample


