2010-07-21 44 views

回答

1

您將需要您用來簽署第一個版本的原始私鑰。 的完整信息,請here,但這裏是它聽起來像你摘錄需要:

應用升級 - 當你釋放 更新您的應用程序,你會 要繼續簽更新 具有相同證書或一套 證書,如果你想讓用戶將 無縫升級到新版本。 當系統正在安裝更新到應用程序的 時,它將 新版本 中的證書與現有版本中的證書進行比較。如果 證書完全匹配, 包括證書數據 和訂單,則系統允許更新 。如果簽署新的版本 不使用匹配的證書, 你還需要一個 不同的軟件包名稱分配給 應用 - 在這種情況下,用戶 安裝新版本的 完全新的應用程序。

AFAIK,.key不是標準(常規)文件結尾。大多數時候您正在使用.keystore文件。密鑰庫包含密鑰。密鑰庫和密鑰都有密碼和單獨的安全措施。

如果您使用jarsigner和here列出的命令之一生成了「.key」文件,那麼您可能創建了一個密鑰庫文件並碰巧給出了結尾「.key」如果是這種情況,那麼只需編譯你的應用程序進入發佈模式,使用jarsigner工具簽署應用程序,並使用zipalign(不知道這是什麼,壓縮也許?)。

如果你沒有原始的密鑰庫和密鑰文件,那麼你已經結束了。對不起:其他信息/噸可在Signing Your Application頁面

HTH, Hamy

+0

感謝上找到。我通過將文件名.key(.key很重要)放在jarsigner命令的keystore部分進行簽名。似乎已經完成了這個訣竅。您也可以使用keytool抓取.key文件中的所有別名。我猜.key是密鑰庫本身。謝謝您的幫助。 – 2010-07-21 02:59:17

+0

很高興你明白了。我覺得你只是意外地用.key擴展名來命名keystore文件。你可以將它命名爲任何東西(例如keystore.blahblah),只要你將完整的文件名(keystore.blahblah,而不僅僅是密鑰庫)傳遞給jarsigner以便它可以找到該文件,它就可以正常工作。很多時候,如果您使用傳統接受的文件擴展名,那麼您不必輸入整個文件名。例如,如果您輸入密鑰庫作爲文件名,那麼jarsigner prob會爲您尋找一個keystore.keystore文件。 HTH – Hamy 2010-07-21 03:13:35