web-dev-qa-db-ja.com

Google PlayのAndroidアプリのパッケージ名を変更することはできますか?

Google PlayにあるAndroidアプリの実際のパッケージ名を変更するのは簡単かどうかではなく、技術的に可能かどうかを知りたいです。パッケージ名とは、URLに表示される名前です。なぜ、これが可能/不可能なのか誰にも教えてもらえますか?ありがとう!

97
user2426316

ダイアン・ハックボーンから:

変更できないもの:

これらの中で最も明白で目に見えるのは、AndroidManifest.xmlでアプリケーションに付ける一意の名前である「マニフェストパッケージ名」です。この名前はJava言語スタイルの命名規則を使用しており、インターネットドメインの所有権は名前の衝突を避けるのに役立ちます。たとえば、Googleはドメイン「google.com」を所有しているため、すべてのアプリケーションのマニフェストパッケージ名は「com.google」で始まる必要があります。開発者は、他の開発者との競合を避けるためにこの規則に従うことが重要です。

マニフェストパッケージ名でアプリケーションを公開すると、これはアプリケーションの一意のIDになります。別の名前に切り替えると、まったく新しいアプリケーションが作成され、既存のアプリケーションの更新としてインストールすることはできません。

変更できないものの詳細 here

Google PlayのURLに関する質問については、そこに定義されているパッケージは、AndroidManifest.xmlファイルにあるアプリの完全修飾パッケージにリンクされています。 Google Playのリンク形式の詳細 こちら

106
Voicu

いいえ、変更することはできません。新しいパッケージを新しいアプリとしてアップロードする必要があります。 GoogleのアプリTalkをご覧ください。名前はHangoutsに変更されましたが、パッケージ名はcom.google.Android.talkのままです。それができないからです:)乾杯。

59
LuckyMe

できることは、以前のアプリを「廃止」し、すべてのユーザーを新しいアプリにリダイレクトすることです。この手順はGoogle(tsk ... tsk ...)でサポートされていませんが、次の4つの手順で実装できます。

  1. 現在のアプリケーションを変更して、アップグレードに関するメッセージをユーザーに表示し、新しいアプリのリストにリダイレクトします。おそらく、わかりやすいテキストで全画面メッセージが表示されるでしょう。このメッセージは、理想的にはリモートでトリガーできますが、締切日も使用できます。 (しかし、それはあなたにとって厳しい締め切りになるので、注意してください...;))

  2. 変更された古いアプリをアップグレードとしてリリースします。機能のアップグレードやバグの修正も含めて、ユーザーに「契約を甘くする」ためです。それでも、すべてのユーザーがアップグレードするという保証はありませんが、おそらく大多数がアップグレードするでしょう。

  3. 更新されたパッケージ名を使用して新しいアプリを準備し、ストアにアップロードしてから、古いアプリでメッセージをトリガーします(または、選択した場合は、有効期限が切れるまで待ちます)。

  4. 新しいインストールを回避するために、Playストアで古いアプリを非公開にします。アプリの公開を解除しても、既にインストールしたユーザーがそのアプリにアクセスできなくなるわけではありませんが、少なくとも潜在的な新規ユーザーは市場で見つけることができません。

理想的ではなく、ユーザーを悩ませる可能性があり、アプリのステータス/可能性のために実装することさえ不可能な場合があります。しかし、Googleが私たちに選択の余地を与えなかったので、これは古いアプリのユーザーを「新しい」アプリに移行する唯一の方法です(実際に新しいアプリでなくても)。古いアプリのソースおよびコード署名の詳細にアクセスできない場合は、ユーザーが新しいアプリに気付くことを望んでいることは言うまでもありません...

もし誰かがより良い方法を見つけたなら、ぜひ教えてください。

18
racs

いいえ、Playストアで新しいアプリとして公開することに問題がない限り、パッケージ名を変更することはできません。

マニフェストパッケージ名でアプリケーションを公開すると、これはアプリケーションの一意のIDになります。別の名前に切り替えると、まったく新しいアプリケーションが作成され、既存のアプリケーションの更新としてインストールすることはできません。 Androidマニュアルでも確認できます:

注意:アプリケーションを公開すると、パッケージ名を変更できません。パッケージ名はアプリケーションのIDを定義するため、変更すると、それは別のアプリケーションと見なされ、以前のバージョンのユーザーは新しいバージョンに更新できません。アプリの新しいバージョンを完全に新しいエンティティとして公開しても問題ない場合は、もちろんできます。古いアプリをPlayストアから削除し(必要な場合)、別のパッケージ名で新しいアプリを公開します。

3
Rahul Sethi

パッケージ名はアプリの一意の名前識別子であるため、決してできません。

2
Shubham Soni

Com.example.appを参照している場合、いいえ、新しいアプリと見なされることはありません

1
aehs29

完全なガイド:https://developer.Android.com/studio/build/application-id.html

Android公式ブログ: https://Android-developers.googleblog.com/2011/06/things-that-c​​annot-change.html

私たちはそれを言うことができます:

  • マニフェストパッケージ名が変更された場合、新しいアプリケーションは古いアプリケーションと一緒にインストールされるため、両方が同時にユーザーのデバイスに共存します。

  • 署名証明書が変更された場合、デバイスに新しいアプリケーションをインストールしようとすると、古いバージョンがアンインストールされるまで失敗します。

Googleアプリの更新チェックリストによると: https://support.google.com/googleplay/Android-developer/answer/113476?hl=ja

アプリを更新します

APKを準備する

APKに変更を加える準備ができたら、既存のユーザーが更新を受信できるように、アプリのバージョンコードも必ず更新してください。

次のチェックリストを使用して、新しいAPKで既存のユーザーを更新する準備ができていることを確認してください。

  • 更新されたAPKのパッケージ名は、現在のバージョンと同じである必要があります。
  • バージョンコードは、現在のバージョンよりも大きい必要があります。アプリケーションのバージョン管理の詳細をご覧ください。
  • 更新されたAPKは、現在のバージョンと同じ署名で署名する必要があります。

APKが以前のバージョンと同じ証明書を使用していることを確認するには、両方のAPKで次のコマンドを実行し、結果を比較します。

$ jarsigner -verify -verbose -certs my_application.apk

結果が同じであれば、同じキーを使用しており、続行する準備ができています。結果が異なる場合は、正しいキーでAPKに再署名する必要があります。

アプリケーションへの署名の詳細

APKをアップロードするAPKの準備ができたら、新しいリリースを作成できます。

1
Vinayak