8

https://developer.android.com/studio/publish/index.htmlの署名ドキュメントから:

システムがアプリケーションの更新をインストールしているときに、新しいバージョンのいずれかの証明書が古いバージョンのいずれかの証明書と一致する場合、システムは更新を許可します。

これは、アプリケーションが複数の証明書で署名できることを示しています。

これは、複数のエンティティがアプリケーションに署名できる興味深いオプションです。例: デバイスの製造元によって最初に署名されたシステム アプリケーション。今後の更新は、開発者によって署名される可能性があります。

私はドキュメントを読み間違えていますか、それとも本当に可能ですか? もしそうなら、どのように?

アプリケーションが異なる証明書をサポートし、それを使用して 2 つ以上のエンティティに署名させる他の方法はありますか?

4

2 に答える 2

2

私はこれに対する解決策を見つけました。それほどきれいではありませんが、それでも解決策です。

署名付き apk ファイルは次のもので構成されます。

  • 特定の証明書で署名されたファイル
  • 公開証明書キーを含む META-INF フォルダー

複数の証明書を持つ apk を作成するには:

  • 各当事者が apk に署名します
  • 各apkのMETA-INFコンテンツが収集されます
  • 新しい apk (これは単なる zip ファイルです) が作成され、META-INF フォルダーにすべての証明書が含まれます。

これにより、署名者のいずれかが apk を更新できるようになります。

1 つの注意点として、更新で証明書を追加する可能性はありません。

于 2010-04-30T08:41:16.430 に答える
2

署名プロセスで別のエイリアスを使用すると、別の証明書で apk に署名できます。

これにより、META-INF フォルダー内に異なるファイルが作成されます。Android マーケット内の更新プロセスにどのような影響があるかはわかりません。

于 2011-03-08T12:41:56.367 に答える