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


119

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


URLに表示される名前。それは何ですか?例を挙げます
stinepike 2013

回答:


125

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

変更できないもの:

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

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

ここで変更できないことの詳細

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


7
注目に値します。私がこれを探し回ったので、実際のパッケージのパッケージ名をjavaで変更できます。基本的に、マニフェストの他のすべての場所を変更できます。マニフェストの1つは、他の場所のものとはほぼ独立しています。
lahwran

3
@lahwran一致しないAndroid Studioのビルドで問題が発生しました-一致すると問題は解消しました。
elBradford 2017年

興味深いことに、これは変わったのでしょうか。一度動作してそれらを異なるものにしても、サポートされなかったとしても、私は驚かないでしょう。
lahwran 2017年

1
@Voicuは、最初のビルドをベータモードでアップロードし、リリースモードでパッケージを変更したくない場合、パッケージ名を変更できます
Tejas Pandya

有料版と同じパッケージ名の無料版がある場合はどうなりますか?両方ともPlayストアで異なるアプリとして
Femn Dharamshi

71

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


4
あなたはグーグルがこれで自分たちで問題に気づいたと思うでしょう
kkarakk

Playストアに存在するandoridアプリのパッケージ名で、大文字から小文字に単一の文字を変更することは可能ですか?
Nilesh Panchal

23

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

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

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

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

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

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

誰かがもっと良い方法を見つけたら、教えてください。


5
これは新しいアプリをインストールするためにできる最善の方法ですが、古いアプリがデバイスに存在することを覚えておく必要があります。これは実際にはアップグレードではなく、新しいインストールです(ユーザーが以前のアプリを手動でアンインストールしない限り)。したがって、デバイスには古いアプリと新しいアプリがあり、おそらく同じランチャーアイコンが表示されます-ユーザーを混乱させる-古いものと新しいもの。
Jasper

1
残念ながら、新しいアプリのインストールプロセスの一環として古いアプリを削除することはできません。ただし、古いアプリの存在を検出して、削除するようユーザーに警告することは可能です。これは、新しいアプリの起動時またはインストール後のイベントハンドラー(developer.android.com/reference/android/content/…)で実行できます。
2015

1
また、古いアプリは新しいアプリの存在を検出し、トーストなどを表示するだけで、新しいアプリを起動して終了することができました。
Moritzが

5

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

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

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


2

com.example.appを参照している場合、新しいアプリと見なすことはできないと思います



1

完全ガイド: 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=en

アプリを更新する

APKを準備する

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

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

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

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

$ jarsigner -verify -verbose -certs my_application.apk

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

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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.