2

1 つの my-release-key.keystore を使用してさまざまなアプリに署名できますか?それとも、アプリごとに異なる my-release-key.keystore が必要ですか?

4

2 に答える 2

5

これは、Android のドキュメントから直接引用したものです - 重要な部分を太字にしています。

特に複数のアプリケーションのリリースを計画している場合、アプリケーション署名のいくつかの側面は、アプリケーションの開発へのアプローチ方法に影響を与える可能性があります。

一般に、すべての開発者に推奨される戦略は、アプリケーションの予想寿命全体にわたって、すべてのアプリケーションに同じ証明書で署名することです。そうする必要がある理由はいくつかあります。

  • アプリケーションのアップグレード – アプリケーションの更新をリリースするときに、ユーザーがシームレスに新しいバージョンにアップグレードできるようにするには、同じ証明書または一連の証明書を使用して更新に署名し続ける必要があります。システムは、アプリケーションの更新をインストールするときに、新しいバージョンの証明書と既存のバージョンの証明書を比較します。証明書データと順序の両方を含め、証明書が正確に一致する場合、システムは更新を許可します。一致する証明書を使用せずに新しいバージョンに署名する場合は、別のパッケージ名をアプリケーションに割り当てる必要もあります。この場合、ユーザーは新しいバージョンを完全に新しいアプリケーションとしてインストールします。
  • アプリケーションのモジュール性 – Android システムでは、アプリケーションが要求した場合、同じ証明書によって署名されたアプリケーションを同じプロセスで実行できるため、システムはアプリケーションを 1 つのアプリケーションとして扱います。このようにして、アプリケーションをモジュールにデプロイでき、ユーザーは必要に応じて各モジュールを個別に更新できます。
  • アクセス許可によるコード/データ共有 – Android システムは、署名ベースのアクセス許可の適用を提供するため、アプリケーションは、指定された証明書で署名された別のアプリケーションに機能を公開できます。同じ証明書で複数のアプリケーションに署名し、署名ベースのアクセス許可チェックを使用することで、アプリケーションは安全な方法でコードとデータを共有できます。

ドキュメンテーション

于 2012-12-04T09:52:57.327 に答える
1

必要な鍵は 1 つだけです。

詳細については、こちらをご覧くださいAndroid アプリの署名

于 2012-12-04T09:53:32.597 に答える