2010-10-21 97 views
33

我想上傳我的第一個APK /應用程序到Android Market,但我得到了這個錯誤(順便說一句,當我在尋找時在stackoverflow中找不到正確的鏈接)。如何爲Android電子市場APK創建證書?

市場不接受使用調試證書籤名的證書。創建一個有效期至少爲50年的新證書。 市場要求用於簽署apk的證書有效期至少在2033年10月22日。創建一個新的證書。

雖然事實證明this question是相似的,但這個人只是說「哦,你提醒我如何去做」而沒有真正解釋。我已經看過在「答案」中提到的網站,但這裏是我的問題:

  • 我不知道我的keytool工具在哪裏。 Android site非常含糊;我沒有在我的.. \ android-sdk-windows \ tools目錄中看到任何類型的「keytool」。
  • 我想我以前做過這個,但我希望我有一組步驟,就像「打開命令提示符,導航到keytool所在的目錄,在命令'xyz -flagsforxyz'中輸入,然後指向Eclipse中'export release apk'選項的密鑰庫......「或類似的東西。

我希望你能說出我已經嘗試過幾件事了!我可能只是忽略了一些簡單的東西 - 所以現在是時候將步驟記錄在計算器中了!謝謝你的幫助。

回答

77

如果您使用Eclipse for Development,請右鍵單擊您的項目,然後單擊導出。現在選擇Android,然後導出Android應用程序。在下一步中確認您想要導出的項目。然後點擊下一步,現在你應該可以選擇創建新的密鑰庫。現在填寫所需的字段,你應該能夠簽署你的應用程序。請務必對密鑰庫文件進行備份並記住您的密碼。失去這將使它不可能更新你的應用程序。

如果您使用終端創建密鑰庫並安裝了Java SDK,則應在/ usr/bin(基於unix的系統上)中有一個名爲keytool的程序。在Windows上,SDK還應附帶keytool,但如果您的計算機上的keytool不在您的路徑中,安裝位置可能會與您的計算機上的keytool.exe搜索不同。有了這個工具,你應該能夠通過以下方式來創建一個關鍵:

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -validity 10000 

請記住,一旦你失去了你的證書或過期,您將無法登錄你的應用程序。確保將來有效期很長。

+1

謝謝,這完全按照描述。第二段是信息化的,但沒有必要完成工作;很好的回覆! – Danny 2010-10-25 07:05:30

+1

如果您喜歡我的回答,您可以通過點擊零點上方的箭頭來使其滿意。這會給我一些獎勵我的答案,並向其他用戶展示他們可以相信我的答案。 – Janusz 2010-10-25 11:19:23

+0

我以前沒有足夠的聲望。可能是因爲你自己的回覆,我現在就這麼做。起來吧! – Danny 2010-10-25 20:57:31

4

是的,janusz已經很好地解釋了它,但是我想在推出App前推出更多步驟。 所以第一步是使用的jarsigner

jarsigner -verbose -keystore pkg_name apk_file_name key_name 

簽署應用程序,第二步是用的zipalign,以確保您不會失去任何空間。

zipalign -v 4 apk_file_name zipped_apk_file_name(newfile) 

它肯定會幫助你啓動你的應用程序。

+2

thanx a lott。!你的回答幫了我一個忙。 – 2014-01-03 16:01:02