94

新しいアプリケーションをアップロードする必要があります。少し異なるのはデザインだけです。昨日、アプリケーションに署名するためのキーストアファイルを生成しました。同じものを使用できますか?

4

7 に答える 7

108

keystoreこれは、任意の数のアプリケーションに使用できます。

新しいキーストアを生成する必要はありません。

于 2011-10-07T09:42:57.867 に答える
48

これまでのところ、コンセンサスの答えに反論します。

ほとんどの場合、ほとんどのアプリ作成者にとって、アプリ間で同じキーストア/証明書/パスワードを共有することで問題なく機能することに同意します。重要なことは、アプリがそれ自体をアップグレードできるように、「アプリケーションの予想される存続期間を通じて同じ証明書」を使用することです。

しかし、別々のアプリまたはアプリのファミリー用に別々のキーストアを用意することは、非常に良い理由の1つと考えることができます。オリジナルのアップグレードとして公開するために他の人にアプリを販売したいと思う場合は、そのために唯一のキーストアとパスワードを他の人と共有する必要があります。おそらく大きな問題ではありませんが、少し心配する必要があります。おそらく、十分な数の購入者に対するデューデリジェンスの問題です。

また、@ ol_v_erと同じように、ドキュメントの同じ行を実際に読むことはありません。私は現在の行だと思います:

アプリケーションの予想される存続期間を通じて、すべてのアプリに同じ証明書で署名する必要があります。

(現在のバージョンではコンマがないことに注意してください)は、「ライフタイム」の推奨事項がすべてのアプリに適用されることを強調しているだけであり、実際にはすべてのアプリに同じ証明書を使用するように指示しているわけではありません。

于 2014-10-03T20:05:16.443 に答える
45

公式ドキュメントには次のように書かれています。

一般に、すべての開発者に推奨される戦略は、アプリケーションの予想される存続期間を通じて、すべてのアプリケーションに同じ証明書で署名することです。あなたがそうすべき理由はいくつかあります...

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

そうです、すべてのアプリケーションに同じ証明書で署名してみてください。

于 2011-10-07T10:06:09.427 に答える
27

この質問と提供された回答は私にとって混乱を招くため、ここにいくつかの説明を追加したいと思います。キーストアが実際に何であるかを理解することが重要です。

キーストアは、AndroidAPKの署名に使用される公開鍵と秘密鍵のペアを安全に保存するための手段にすぎません。そうです、同じキーストアを使用して複数のapkに問題なく署名できます。同じエイリアス(各エイリアスは証明書)を使用して複数のapkに署名することもでき、それは機能します。ただし、セキュリティに影響があります。単一のエイリアスが侵害された場合、すべてのアプリが侵害されます。

ただし、ある日アプリの権利を販売する予定の場合は、すべてのアプリに同じエイリアスを使用することはお勧めできません。ただし、apkごとに異なるエイリアスを使用する場合は、同じキーストアを使用することが必ずしも悪いオプションではない場合があります。あるキーストアから別のキーストアに証明書を移動して、その証明書にのみ必要なキーを購入者に安全に渡すことができる方法があると確信しています。

明確にするために、キーストアはまさにそれであり、キーの記憶媒体です。これは、apkに署名するプロセスでは実際の役割を果たしませんが、apkに署名するために実際に使用されるキーを格納するためにのみ機能します。

参照:

キーストア、証明書、エイリアスについて

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

于 2016-05-11T21:33:53.757 に答える
6

もちろん!同じキーストアファイルを何度でも使用できます。開発するすべてのアプリケーションに同じキーストアファイルを使用することをお勧めします。これは、アプリケーションを更新または変更する場合に役立ちます。その際、同じキーでアプリケーションに署名する必要があります。

于 2011-10-07T09:45:39.713 に答える
3

同じ証明書(キーストア)を使用してすべてのアプリに署名します。これは、気が変わってアプリにデータを共有させたい場合に有利です。

ご存知かもしれませんが、Androidは各アプリをUIDで識別します。すべてのアプリが同じ証明書で署名されている場合は、Androidに同じユーザーIDを複数のアプリに割り当てて、それらを1つのプロセスで実行し、データを共有するように要求できます。

android doc android:sharedUserIdから

android:sharedUserId

他のアプリケーションと共有されるLinuxユーザーIDの名前。デフォルトでは、Androidは各アプリケーションに独自の一意のユーザーIDを割り当てます。ただし、この属性が2つ以上のアプリケーションで同じ値に設定されている場合、それらはすべて同じIDを共有します。ただし、それらも同じ証明書によって署名されている必要があります。同じユーザーIDを持つアプリケーションは、互いのデータにアクセスでき、必要に応じて、同じプロセスで実行できます。

于 2016-12-22T09:14:26.743 に答える
3

最近の更新

グーグルによるアプリ署名に登録したい場合は、新しい別のキーを使用してapkまたはバンドルに署名する必要があります。そうしないと、グーグルコンソールをアップロードした後にエラーメッセージが表示されます

ユーザーに配信されるAPKの署名にも使用されるキーで署名されたAPKまたはAndroidAppBundleをアップロードしました。Google Playによるアプリ署名に登録しているため、アップロードする前に、APKまたはAndroidAppBundleに新しいキーで署名する必要があります

于 2020-10-15T13:38:58.507 に答える