2011-01-06 18 views
9

Androidアプリケーションのアップグレード中に、パッケージ名を変更しました。しかし、Androidマーケットでは、変更されたパッケージ名のアプリケーションをアップグレードとしてアップロードすることはできません。新しいアプリケーションとしてアプリケーションをアップロードすると、ユーザーは自分のデバイスに2つのアプリケーションを持っていますか?パッケージ名の変更を元に戻さずに、ユーザーが最初からアプリケーションをダウンロードする必要がないことを確認するにはどうすればよいですか?アップグレードされたAndroidアプリケーションのパッケージ名を変更する

答えて

12

2パッケージ=市場で2つの異なるアプリケーション。 1つのアプリをアップロードしたら、そのパッケージは同じである必要があります。また、キーは同じでなければなりません。

+0

私は同じキーを使用しましたが、最初にアップロードしたアプリケーションのパッケージ名が異なります。 – yogsma

+0

メインパッケージ名を変更することはできません。そうすると、同じアプリとして扱うことはできません。 –

+0

アプリを公開した後にパッケージを変更しなければならなかった理由はわかりません。あなたはパッケージ名を変更するというあなたの決意を考え直すべきです。可能であれば、古いアプリを忘れて(そして市場の説明に新しいアプリへのリンクを入れてください)。 –

10

Androidマーケットでは、ソースの実際のパッケージ名ではなく、マニフェストのパッケージ名のみが心配です。

あなたはこのように(すなわち.MainActivity)、その後の活動のための新しいパッケージ名を与える代わりに、相対的な、マニフェスト属性に古いパッケージ名を与えること

を試みることができる:

<manifest package="your.old.package" ...> 
    ... 
    <application android:name="your.new.package.MainActivity" ...> 

は仕事ができます..

私はこの方法と同じプロジェクトとコードを使用して、私のアプリ(有料/無料)の2つのバージョンを提供する予定です。

+0

興味深い!私は次のアプリを試してみます。 – yogsma

+0

あなたは正しい、Tapirboyです。 Androidでは、アクティビティタグに配置するname属性は気にしません。あなたのアプリケーションのアイデンティティを決定することが重要である限り、マニフェストタグのパッケージ属性だけを気にします。マニフェストタグのパッケージ属性が変更された場合、Androidはその変更を伴うアプリを完全に異なるアプリと見なします。 – Carl

+1

マニフェストパッケージとアプリケーション名が異なる場合、Eclipseプラグインに関するいくつかの問題を曖昧に思い出します。これはもはや問題ではないかもしれませんが、私はこのアプローチを使用する際にはEclipseと相反していました。しかし、それは1年以上前によくなった。 – Jeff

0

パッケージ名を変更した場合、これは市場だけでなく、別のアプリとして扱われますが、apkは一般的に同じパッケージ名を「置き換え」ます(両方とも同じキーで署名されている場合のみ)。

中間パッケージwith both keysに署名することで、新しい鍵に段階的に移行することはできますが、現時点では簡単にパッケージ名を段階的に変更することはできません。

  • 新しいAPKのバージョンが同じキーで署名されているが、異なるパッケージ名を持っています

    に行うことができる最善のはこれです。

  • インストールすると、新しいapkは古いパッケージ名のshared_prefsを使用するように手配します。
  • データが新しいパッケージ名にコピーされます。
  • 新しいバージョンでは、古いバージョンが削除され、アンインストールダイアログが表示されます。

ノートアプリのデータは、通常はここに保管されています

/data/data/pac.kage.name/ 

私はこれを試していないので、私はもう、まだ詳細与えることはできません。また、私のrequest for a seamless way of transitioning the package nameに興味があるかもしれません。

関連する問題