簡體   English   中英

我可以使用同一個密鑰庫文件來簽署兩個不同的應用程序嗎?

[英]Can I use the same keystore file to sign two different applications?

我必須上傳一個新的應用程序,只是設計有點不同。 昨天我生成了密鑰庫文件來簽署應用程序。 我可以使用相同的嗎?

您可以將該keystore用於任意數量的應用程序。

無需生成新的密鑰庫。

到目前為止,我將對共識答案提出反駁。

我同意對於大多數應用程序作者來說,在大多數情況下,在您的應用程序之間共享相同的密鑰庫/證書/密碼可以正常工作。 關鍵是“ 在應用程序的預期生命周期內使用相同的證書”,以便應用程序可以自行升級。

但我可以想到一個很好的理由,即為單獨的應用程序或應用程序系列擁有單獨的密鑰庫。 如果您認為您可能想要將應用程序出售給其他人,讓他們作為對原始應用程序的升級發布,您必須與他們共享您的唯一密鑰庫和密碼才能這樣做。 可能不是一個大問題,但讓你有點擔心,也許,對於一個足夠大的買家來說,這是一個盡職調查問題。

另外,我真的不像@ol_v_er 那樣閱讀文檔中的同一行。 我認為當前的行:

在應用程序的整個預期生命周期內,您應該使用相同的證書對所有應用程序進行簽名。

(注意當前版本中缺少逗號)只是強調“終身”建議適用於所有應用程序,而不是實際指導您對所有應用程序使用相同的證書。

官方文檔告訴我們:

通常,推薦給所有開發人員的策略是在應用程序的整個預期生命周期內使用相同的證書對所有應用程序進行簽名。 你應該這樣做有幾個原因......

https://developer.android.com/studio/publish/app-signing.html#thinkations

所以是的,嘗試使用相同的證書簽署所有應用程序。

我想在這里添加一些說明,因為這個問題和提供的答案讓我感到困惑。 了解密鑰庫實際上是什么至關重要。

密鑰庫只是一種安全存儲用於簽署 Android apk 的公鑰/私鑰對的方法。 所以是的,您可以使用相同的密鑰庫對多個 apk 進行簽名,而不會出現問題。 您還可以使用相同的別名(每個別名是一個證書)來簽署多個 apk,它會起作用。 但是,它具有安全隱患。 如果您的單個別名被盜用,那么您的所有應用程序都將被盜用。

但是,如果您打算有一天出售應用程序的權利,那么為所有應用程序使用相同的別名可能不是一個好主意。 但是,如果您為每個 apk 使用不同的別名,使用相同的密鑰庫可能不一定是一個糟糕的選擇。 我確信有一種方法可以將證書從一個密鑰庫移動到另一個密鑰庫,以便您可以安全地將僅用於該證書的必要密鑰提供給您的買家。

明確地說,密鑰庫就是密鑰的存儲介質。 它在簽署 apk 的過程中沒有實際作用,但僅用於存儲實際用於簽署 apk 的密鑰。

參考:

了解密鑰庫、證書和別名

https://www.digitalocean.com/community/tutorials/java-keytool-essentials-working-with-java-keystores

當然! 您可以根據需要多次使用相同的密鑰庫文件。 為您開發的所有應用程序使用相同的密鑰庫文件總是更好。 如果您想更新或修改應用程序,這將有所幫助。 那時您需要使用相同的密鑰對您的應用程序進行簽名。

我確實使用相同的證書(密鑰庫)簽署了我的所有應用程序。 如果我改變主意並希望我的應用程序共享它們的數據,這將提供一個優勢。

您可能知道 Android 使用 UID 標識每個應用程序。 如果您的所有應用程序都由相同的證書簽名,您可以請求 android 為多個應用程序分配相同的用戶 ID,並反過來使它們在單個進程中運行並共享數據。

來自 android 文檔android:sharedUserId

android:sharedUserId

將與其他應用程序共享的 Linux 用戶 ID 的名稱。 默認情況下,Android 為每個應用程序分配自己唯一的用戶 ID。 但是,如果兩個或多個應用程序的此屬性設置為相同的值,則它們都將共享相同的 ID — 前提是它們也由相同的證書簽名。 具有相同用戶 ID 的應用程序可以訪問彼此的數據,並且如果需要,可以在同一進程中運行

最近更新

如果您想通過 google注冊應用程序簽名,您必須使用新的不同密鑰來簽署您的 apk 或捆綁包,否則在上傳 google 控制台后會給您錯誤消息

您上傳了一個使用密鑰簽名的 APK 或 Android App Bundle,該密鑰也用於對交付給用戶的 APK 進行簽名。 由於您已加入 Google Play 應用簽名計划,因此您應該在上傳 APK 或 Android App Bundle 之前使用新密鑰對其進行簽名

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM