我在2010年發佈了一個應用程序。那時候,我創建了一個本地密鑰庫和一個密鑰,這是我從未更改過的,用於所有我從那時起發佈的這個應用程序的(約30個)版本。上傳新APK版本時簽名錯誤信息(API級別8不支持SHA1)
我從來沒有遇到任何問題,在我用Eclipse開發的那些日子裏,一直工作得很好,在過去的幾年裏,當我切換到Android Studio時都沒有問題。
我發佈的最後一個版本2016-12-23。現在我想發佈一個新的APK,並將其上傳到開發者控制檯...並獲得以下錯誤消息:
上傳失敗 - 您上傳了帶有無效簽名的APK詳細瞭解簽名)。來自apksigner的錯誤:ERROR(Jar簽名者CERT.DSA):JAR簽名META-INF/CERT.DSA使用摘要算法SHA-1和帶有DSA的簽名算法SHA-1,而API Level 8不支持此DSA APK正在驗證
我試過的(新的可用)的簽名版本選項(總是以相同的結果)這些組合:
- 唯一的 「V1(JAR簽名)」
- 既「 V1(Jar Signature)「和」V2(Full APK Signature)「
我正在使用Android Studio 2.3.3與buildToolsVersion 25.0.0和Gradle版本3.3。
感謝您詳細的解答。在我的情況下,選項2適用,我使用AndroidStudio/Android插件爲Gradle簽名。據我瞭解,根據build.gradle條目,Gradle會自動覆蓋AndroidManifest.xml中的minSdkVersion條目(如果您在AndroidManifest.xml中的「android:minSdkVersion」行上懸停在AndroidStifest.xml中,而它在AndroidStudio編輯器中打開,則您得到一個工具提示信息說)。但是我總是在這兩個文件中使用8,從來沒有問題。我現在將它切換到9,解決了問題。但這意味着我的應用程序不再支持Froyo(您的選項3)。 – Nemax