所以我有一個市場上的Android應用程序,現在我需要更新它。我一直在試圖簽署新的APK,但遇到困難。使用keystore和Android簽名問題
我有密鑰庫,並且使用keytool -list -v -keystore deployment.keystore
驗證它包含正確的證書。密鑰庫沒有密碼,不記得那樣做,但你去了。如果我輸入任何內容,則會出現錯誤,如果我不接受該命令並列出所包含的證書。
現在的問題是,當試圖在Eclipse中導出apk文件時,使用導出嚮導,我不允許在密鑰庫上沒有密碼,因此我無法獲取裏面的憑據。所以我試圖運行以下內容以嘗試更改密鑰庫keytool -storepasswd -keystore deployment.keystore
上的密碼。我被要求輸入密碼,並且空字符串密碼和我想要設置的新密碼都不被接受。如果它的長度爲6個字符,我會再次提示,如果其> 6個字符,則會出現以下錯誤:keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect
。
現在我不知所措,並尋求SO的集體知識來幫助我。
UPDATE:我現在已經導出了證書,然後再將它導入到一個新的密鑰庫成功。現在的問題是,當我嘗試簽名時,我在Eclipse中獲得了Unhandled event loop exception
。有任何想法嗎?
UPDATE 2:試圖通過終端簽名以避免Eclipse拋出的異常提出了新問題。我正在嘗試以下內容:jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore new.keystore myApp.apk myAlias
。我只有我的新密鑰庫中有證書,但沒有私鑰,因此我一直試圖通過運行keytool -importkeystore -srckeystore deployment.keystore -destkeystore myKeystore.p12 -deststoretype PKCS12
將它們從舊密鑰庫導出爲p12。
現在我得到以下警告:
******* WARNING WARNING WARNING *******
The integrity of the information stored in the srckeystore* * has NOT been verified! In order to verify its integrity, * * you must provide the srckeystore password.
******* WARNING WARNING WARNING *******
這現在提示我要爲這是空字符串srckeystore密碼。這是我似乎陷入的一些循環孔!
更新3: 我現在已經成功地使用指令-storepass
餵養改變了原有的存儲密碼。不過,現在系統會提示您輸入密鑰庫中實際的私鑰/公鑰對的keypass。我不記得設置這些,即使我已經閱讀they default to the keystore password if not set
他們不接受我輸入的任何內容。我的搜索繼續。
-MrDresden
你嘗試從控制檯運行導出嗎?也許在控制檯,你可以有空白密碼...否則DAMN :) – Daler 2013-03-07 11:30:22
嗯,我只是想出了出口選項,只要我發佈的問題,所以工作。我現在用密碼創建了一個新的密鑰庫,並將證書導入到密鑰庫中。但是現在我試圖用證書籤名,我在Eclipse中得到了「未處理的事件循環異常」......確實如此。當鳴則已一鳴驚人! – Hrafn 2013-03-07 11:40:17
您是否使用新的密鑰庫從控制檯嘗試過它 - 也許這是一個日食問題?也嘗試更新eclipse中的Android插件 - 也許有一個可用的新版本?否則... DAMNED ;-) – Ridcully 2013-03-07 12:39:07