2011-10-07 17 views
48

私は新しいアプリケーションをアップロードする必要があります、それはちょっと違うデザインです。昨日、アプリケーションに署名するためにキーストアファイルを生成しました。同じものを使うことはできますか?同じキーストアファイルを使用して2つの異なるアプリケーションに署名できますか?

+2

はい、できますか(質問する前に試しましたか?) – njzk2

答えて

55

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

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

+6

「別名」には、何を書きますか? –

+0

鍵ストア* CONTAINS *署名証明書を構成する公開鍵/秘密鍵ペア。 1つのキーストアには多くの鍵ペアが含まれます。 「別名」は、キーストア内の特定のキーペアへの参照です。 1つのキーストアですべての鍵ペアを保持できますが、アプリごとに1つの鍵ペアが必要です。エイリアスとして署名しているアプリの名前を使用します。キーストアとその内部の各キーペアに別々のパスワードを設定できます。これらのパスワードを変更したり、キーストアからキーペアをインポート/エクスポートしたり、新しいキーペアをキーストアに追加することができます。これはすべてコマンドライン 'keytool'コマンドで行います。調べる。 – brycewjohnson

2

もちろん!同じキーストアファイルを必要な回数だけ使用できます。開発するすべてのアプリケーションに同じキーストアファイルを使用する方が良いでしょう。これは、アプリケーションを更新または変更する場合に役立ちます。そのとき、同じキーでアプリケーションに署名する必要があります。

31

公式ドキュメントを教えてくれる:一般的に

、すべての開発者のための推奨される戦略は、あなたのアプリケーションの予想寿命を通じて、同じ証明書を使用して、アプリケーションのすべてに署名することです。あなたがそうすべきいくつかの理由...

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

そうです、同じ証明書を使用して、すべてのアプリケーションに署名しようとするがあります。

+6

「別名」では、何を書いたらいいですか? –

+5

シンプルにするには、すべてのアプリで同じものを使用してください。 –

29

これまでコンセンサスアンサーに反論をします。

ほとんどのアプリの作者にとって、ほとんどの場合、アプリ間で同じキーストア/証明書/パスワードを共有するとうまくいくことに同意します。重要なことは、 "the same certificate throughout the expected lifespan of your applications"を使用して、アプリがそれ自体をアップグレードできるようにすることです。

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

また、私は実際に@ol_v_erと同じ方法でドキュメントの同じ行を読んでいません。現在の行:

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

は、(現在のバージョンでは、コンマの欠如に注意してください)単に「寿命」の推薦が実際にアプリのすべてに同じ証明書を使用して、あなたを向けるない、すべてのアプリケーションに適用されることを強調しています。

+3

各アプリごとに別々のキーストアを保持することが最善の方法です。 – Sufian

1

私は同じ証明書(キーストア)を使用して、すべての私のアプリを署名しません。これは、私の心が変わり、自分のアプリケーションでデータを共有したい場合に有利です。

AndroidはそれぞれのアプリケーションをUIDで識別しています。あなたのすべてのアプリが同じ証明書で署名されている場合は、アンドロイドに同じユーザーIDを複数のアプリケーションに割り当てて、それらを単一のプロセスで実行してデータを共有するように要求することができます。

アンドロイドandroid:sharedUserId

アンドロイドドキュメントから:sharedUserId

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

関連する問題