簡體   English   中英

更新Android Studio后生成簽名的APK

[英]Generate signed APK after update Android Studio

我有一個很奇怪的問題。 多年前,我寫了一個用Eclipse編寫的應用程序。 然后,我升級到Android Studio 0.4.3,一切正常,但現在我刪除了該AS,並使用新版本(Android Studio 141.xxxx)。

問題是,我使用相同的JKS證書,但是上傳到Google Play商店后,我看到了有關指紋差異的信息。

您已將使用其他證書簽名的APK上傳到以前的APK。 您必須使用相同的證書。 您現有的APK已使用帶有指紋的證書進行了簽名:

[SHA1:D0:D9:BE:8B:D2:6A:5F:xxxxxxxxxxxxxxxxxxxx:F4:D9:91:66:06:12]

並且用於對您上傳的APK進行簽名的證書具有指紋:

[SHA1:DA:53:9F:A7:D3:3C:8D:xxxxxxxxxxxxxxxxxxxx:CE:1F:F2:AB:0B:64]

我嘗試在我的應用手冊上簽名,但隨后進行了交流。

上傳失敗您上傳的APK的某些文件的簽名信息無效或缺失。 您需要創建一個有效的簽名APK。 了解有關簽名的更多信息。

有人有主意嗎? 是類似的問題,但沒有答案。

Okey ...最后,我解決了這個問題。 但是我仍然不知道為什么會這樣。

首先,我確保之前使用相同的jks

jarsigner -verify -verbose:summary -certs old.apk
jarsigner -verify -verbose:summary -certs new.apk

證書看起來一樣。 因此,我構建了我的應用程序,並用我的證書簽名了。 但這是行不通的。

所以我手動做

  1. 我使用WinRAR打開我的apk文件,然后從app-release-unaligned.apk (在我的情況下為app \\ build \\ outputs \\ apk)中刪除META-INF目錄
  2. 使用我的app-release-unaligned.apk將zipalign.exe粘貼到文件夾
  3. 使用apk打開文件夾中的CMD (Shift +右鍵單擊+“在此處打開命令窗口”。)

然后,我手動使用jarsigner ,然后使用zipalign.exe

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore key.jks -storepass MYPASSWORD app-release-unaligned.apk 1

zipalign -f -v 4 app-release-unaligned.apk app-release.apk

然后,我將app-release.apk上傳到Google控制台。 一切都很好;)

我認為您遇到的問題是您沒有使用自己的密鑰存儲文件來上傳apk。 在IDE版本之間,該文件可能已更改。

有關此問題的解釋,請參考此答案: https : //stackoverflow.com/a/4843261/3497739

另請閱讀此參考頁,以了解如何正確簽名apk https://developer.android.com/tools/publishing/app-signing.html

祝好運

密鑰庫中可能有問題。

您已將使用其他證書簽名的APK上傳到以前的APK。 您必須使用相同的證書。 您現有的APK已使用帶有指紋的證書進行了簽名:

[SHA1:D0:D9:BE:8B:D2:6A:5F:xxxxxxxxxxxxxxxxxxxx:F4:D9:91:66:06:12]

並且用於對您上傳的APK進行簽名的證書具有指紋:

[SHA1:DA:53:9F:A7:D3:3C:8D:xxxxxxxxxxxxxxxxxxxx:CE:1F:F2:AB:0B:64]

這意味着您使用了不正確的密鑰庫,而不是用於簽署以前版本的APK的密鑰庫。

確保您使用相同的密鑰庫文件。 如果相同-再次重新生成密鑰。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM