2011-11-23 86 views
9

我構建了兩個應用程序第一個應用程序com.pakname.pak1,第二個應用程序使用了com.pakname.pak2程序包名稱,然後我得到了一個密鑰mykey.keystore。使用相同的密鑰簽署兩個應用程序

如果我用同一個密鑰簽署這兩個應用程序並將它們發佈到android市場會發生什麼?

是這個好習慣嗎?我想不是,但我沒有得到使用不同密鑰簽署同一家公司的應用程序的觀點。

有人可以解釋我這種情況的

感謝

+0

[在Android Market中的兩個帳戶上使用一個發佈密鑰] HTTP://計算器。com/questions/5174178/using-one-publishing-key-on-two-accounts-in-android-market) – AbdelHady

+0

@AbdelHady它不是重複的,OP使用一個帳戶(至少他們不會說相反的) –

回答

15

閱讀本

簽署戰略

應用程序簽名的某些方面可能會影響你如何對待你的應用程序的發展,特別是如果您打算髮布多個應用程序。

通常,對於所有開發人員,推薦的策略是在應用程序的預期使用期限內爲所有應用程序簽署相同的證書。有幾個原因,你應該這樣做:

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

  • 應用程序模塊化 - Android系統允許由相同證書籤名的應用程序在同一進程中運行(如果應用程序提出請求),以便系統將它們視爲單個應用程序。通過這種方式,您可以將應用程序部署到模塊中,並且用戶可以根據需要獨立更新每個模塊。

  • 通過權限進行代碼/數據共享。 Android系統提供基於簽名的權限執行,以便應用程序可以將功能展示給使用指定證書籤名的另一個應用程序。通過使用相同證書籤署多個應用程序並使用基於簽名的權限檢查,您的應用程序可以以安全的方式共享代碼和數據。

+10

也知道在多個應用程序中使用同一證書的缺點:如果您只想向某人銷售其中一個應用程序(源代碼+代碼+資源+證書),那麼您將被擰緊:您將被「強制」銷售您的證書,以便新的應用程序所有者可以升級它(否則,他將失去所有當前的用戶,這應該是令人傷心的,因爲該應用程序值得購買它),所以這對您的其他應用程序意味着不好的事情......此外,在這個答案中的第一項(第一項)不是關於「N個應用程序的1個證書」,而僅僅是「1個特定應用程序的所有更新的證書」。 – xav

0

在市場上,真正重要的是包名和版本控制。如果您嘗試爲同一應用上傳兩個不同的軟件包名稱,您將陷入一個充滿痛苦的灰色區域:( 第二,如果您嘗試上傳兩次忘記更新版本的應用,市場將拒絕您上傳和你必須重建你的應用程序更改版本 最後,我使用相同的密鑰存儲和相同的簽名爲我的應用程序沒有問題:)

+0

我不想用不同的軟件包名稱上傳相同的應用程序,我有兩個完全不同的應用程序,我想用相同的密鑰對它們進行簽名。如果我能幫助你,那麼這種情況就不存在問題。 – Lukap

+0

是的,我只給你一些基礎知識,以解決上傳問題。正如我告訴過你的,我爲我的所有應用程序使用相同的密鑰庫和相同的密碼。 – Zappescu

相關問題