2012-02-16 90 views
4

幾個月前,我產生我的Android版本的密鑰庫使用此命令:的Android版本的密鑰庫的問題:「密鑰庫被篡改,或密碼不正確」

keytool -genkey -v -keystore my-release-key.keystore -alias myalias -keyalg RSA -keysize 2048 -validity 10000 

我進入密鑰庫密碼,寫在最後一步中,當它輸入我按下的證書的密碼時,輸入以使用與密鑰庫相同的密碼(所以我必須記住整個過程只有一個密碼)。

生成此密鑰庫後,我籤我的APK使用此命令發佈:

jarsigner -verbose -keystore my-release-key.keystore my.apk myalias 

,我進入了我的密碼(沒問題)。

現在我不得不推出更新到我的apk在市場上,當我嘗試使用上面的命令簽署新的apk時,我得到一個「密鑰庫被篡改或密碼不正確」。

我很困惑,我回到了我的密鑰存儲備份,並得到同樣的問題。我確定密碼是正確的。請注意,我沒有使用Eclipse進程(我正在從命令行進行簽名)。

這裏有什麼問題? Heeelppp!

+0

你是怎麼解決你的問題的?我完全相同的問題 – 2012-03-06 14:58:43

回答

-4

該消息表示密碼錯誤。它看起來像你還沒有記住你用於密鑰存儲的密碼。

在創建密鑰和密碼時,強烈建議您將副本保存在一個非常安全的位置,避免遺忘,火災,驅動器故障等,因爲後果可能非常嚴重(無法更新市場中的應用程序)。

+0

「我確定密碼是正確的」。似乎對我很清楚。 – Kheldar 2012-11-13 15:49:39

2

這個錯誤發生在我身上,因爲我的公司名稱中有一個逗號,例如「Company,Inc.」 刪除了逗號,一切正常。 希望有所幫助。

0

隱式keyalg,digestalg和/或sigalg在不同版本的Java和可能的eclipse之間發生了變化。

使用命令行並嘗試幾種不同的組合。這爲我工作在Java 5.0中創建的關鍵,但我升級系統的Java 6 jarsigner -verbose -keystore <.keystore> -sigalg MD5withRSA -digestalg SHA1 <apk file> <alias>

3

與社區分享我的經歷後...

JDK 1.7 的build.gradle爲Android

android { 
    compileSdkVersion 18 
    buildToolsVersion "17.0.0" 

    signingConfigs { 
     release { 
      storeFile file("../my-release.keystore") 
      storePassword "$MakeMyDay!" 
      keyAlias "my-release" 
      keyPassword "$MakeMyDay!" 
     } 
    } 
: 

當我gradlew assembleRelease,我得到了可怕的「篡改或密碼不正確」的錯誤。

分辨率:

使用更簡單的密碼,如abcdef。不確定特殊字符如$和!得到了支持。

+0

我有同樣的問題 - 我的密碼包含特殊字符,看起來像Android工具[不喜歡其中的一些](https://code.google.com/p/android/issues/detail?id=36350) 。Android Studio使用相同的密碼(自動轉義?),但不是在命令行上。我通過更改密碼並確保它不包含字符&$%@來解決此問題。 – dskrvk 2017-01-16 01:57:33