2014-04-24 40 views
6

我已經構建了一個使用phonegap構建的android應用程序。現在我試圖讓這個Play商店,但不斷收到以下錯誤簽署安卓APK的證書,將進一步到期未來

You uploaded an APK signed with a certificate that expires too soon. You need to sign your APK with a certificate that expires farther into the future 

我已經創建了Java jdk1.8.0密鑰工具的簽名密鑰和我已經使用這個代碼

keytool.exe -genkey -v -keystore release.keystore -alias TicTacToe -keyalg RSA -keysize 2048 -validity 10000 

我不明白。據我可以告訴我,從現在開始的10,000天的日期應該足夠多嗎?

+1

什麼是你的鑰匙expity日期?應該在2044年左右? – Szymon

+0

不是說代碼末尾的10000指的是什麼。 10000天或超過27年。我應該增加這個嗎? – EnduroDave

+0

這應該夠了,但增加不會真的受傷。 – Szymon

回答

1

嘗試使用:
keytool.exe的-genkey -v -keystore release.keystore -alias井字遊戲-keyalg RSA -keysize 2048 -validity 20000

7

設置期滿爲大於50年。

-validity 20000 
0

如果你使用Flash Builder上傳到Play商店的工作時,你收到此信息,請確保您上傳通過Project>導出發行版生成的apk ...代替正常.apk由您的項目運行生成。

我已經生成了一個正確的證書,但我仍然得到相同的錯誤消息,直到我這樣做。以防萬一有人有同樣的問題...

3

重要說明:不要試圖使用購買的代碼簽名證書!

如果您來自Windows應用程序/應用程序開發領域,那麼很自然地假設您想讓使用購買的代碼簽名證書。

這是可能的,但是當您或您的客戶嘗試將應用程序提交到Google Play商店時,它將會失敗,並且'APK使用過期失效太快的錯誤的證書籤名。這是因爲大多數購買的證書的最大有效期約爲2/3年。

解決方法是按照其他人的說明生成自己的證書。我選了100年的有效期,它工作得很好。我很確定我不會在100年內開發這個應用程序。

斷開連接是因爲證書以不同的方式用於不同的目的。而不是確定並命名開發人員,自我生成的證書用於確保兩個應用程序版本來自相同但未命名的源。

全部細節可以發現:https://developer.android.com/studio/publish/app-signing.html