2012-04-23 63 views
4

當我確認我的應用程序的簽名:如何在簽署Android應用程序時解決無效的SHA1簽名?

jarsigner -verify -verbose -certs testapp.apk 

它給我的錯誤:

jarsigner: java.lang.SecurityException: invalid SHA1 signature file digest for res/drawable-xhdpi/breadcrumb_grey_white.png

如何解決這個問題?

+0

[無效SHA1簽名文件摘要](http:// stackoverflow .com/questions/8176166/invalid-sha1-signature-file-digest) – 2012-04-23 19:21:10

回答

3

here中刪除。

這裏是解決方案:

jarsigner -keystore mykeystore -digestalg SHA1 jarfile alias 

驗證:

jarsigner -verify -verbose -certs jarfile 
+1

當我使用JDK 1.6.0進行驗證時,它工作正常,但是當我使用JDK 1.7.0進行嘗試時,它將出現無效的SHA1簽名文件摘要,可繪製-xhdpi/breadcrumb_grey_white.png。爲什麼發生這種情況? – ChanGan 2012-04-24 07:12:39

+0

也許你需要用1.7.0重新簽名,並用相同的版本進行驗證? – 2012-04-24 08:32:30

+0

什麼是用1.7.0辭職的程序? – ChanGan 2012-04-25 06:14:51

11

確保在簽名之前刪除的APK文件夾META_INF。 此外,如果您使用的是JDK 7,則在使用jarsigner進行簽名時包含選項-sigalg MD5withRSA以及Andrejs提到的-digestalg SHA1

+0

注意:如果您嘗試簽署OSGi包,請記住META_INF/Manifest.mf包含一些必需的頭文件。刪除META-INF文件夾會導致不良結果。 – 2015-03-09 04:52:24

相關問題