2016-07-25 94 views
2

什麼是最簡單的方法來找到一個apk文件的簽名?請注意,我沒有詢問代碼。我只是想從我的電腦中找到它。簽署這樣一個975yYkKAQF + KST7g3ASHvHkYopq =如何找到apk文件的簽名?

回答

2
Signature[] sigs = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES).signatures; 
for (Signature sig : sigs) 
{ 
    Trace.i("MyApp", "Signature hashcode : " + sig.hashCode()); 
} 

http://developer.android.com/reference/android/content/pm/PackageManager.html

這可能幫助

首先,解壓縮APK並提取文件/META-INF/ANDROID_.RSA(這個文件也可能CERT.RSA,但應該只有一個.RSA文件)。

然後發出以下命令:

的keytool -printcert -file ANDROID_.RSA 您將獲得證書,指紋這樣的:

MD5: B3:4F:BE:07:AA:78:24:DC:CA:92:36:FF:AE:8C:17:DB 
SHA1: 16:59:E7:E3:0C:AA:7A:0D:F2:0D:05:20:12:A8:85:0B:32:C5:4F:68 
Signature algorithm name: SHA1withRSA 

然後再次使用密鑰工具,打印出所有的別名簽名密鑰庫:

keytool -list -keystore my-signing-key.keystore 您將獲得別名及其證書指紋列表:

android_key,2010年1月23日,PrivateKeyEntry, 證書指紋(MD5):B3:4F:BE:07:AA:78:24:DC:CA:92:36:FF:AE:8C:17:DB Voila!我們現在可以確定apk已經用這個密鑰庫和別名'android_key'簽名。

Keytool是Java的一部分,因此請確保您的PATH具有Java安裝目錄。

How do I find out which keystore was used to sign an app?

+0

請看我更新的問題。我不問代碼 – user3548321

+0

爲什麼你想手動找到簽名本身,或者你想獲得已簽名apk的路徑? –

+0

不,我想找到簽名本身。不只是路徑 – user3548321