https://codeload.github.com/bihe0832/Android-GetAPKInfo/zip/master
AndroidGetAPKInfo
項目簡介
作為基於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
目錄結構
├── AndroidGetSignature.apk : 一款基於Android Studio開發的通過包名獲取apk簽名的應用
│
├── AndroidGetSignature : AndroidGetSignature.apk對應源碼
│
├── 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文件,如果想了解具體項目的詳細信息,可以進入子項目查看
使用方法
這里僅列出主要操作的使用方法,詳細內容請查看對應目錄的README文件。
AndroidGetSignature.apk
安裝AndroidGetSignature.apk 后輸入包名,點擊獲取
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