キーストアが破損しているため、Androidマーケットでアプリの名前を変更して再送信する必要があります。ただし、マニフェストやファイル全体でパッケージ名を編集しようとすると、大量のエラーが発生します。
アプリケーション名を変更する適切な方法は何ですか?
キーストアが破損しているため、Androidマーケットでアプリの名前を変更して再送信する必要があります。ただし、マニフェストやファイル全体でパッケージ名を編集しようとすると、大量のエラーが発生します。
アプリケーション名を変更する適切な方法は何ですか?
回答:
Eclipseを使用している場合は、Androidの開発者サイトからこれらの手順を試すことができます。これらはGestureBuilderサンプル専用ですが、私が知る限り、どのアプリケーションにも適用できます。
これは、Eclipseでこれを行う方法です。
- パッケージ名(
src/com.android.gesture.builder
)を右クリックします。- 「リファクタリング」>「名前を変更」を選択し、名前を、たとえばに変更し
com.android.gestureNEW.builder
ます。- マニフェストファイルを開きます。
<manifest>
タグ内で、 パッケージ名をに変更しますcom.android.gestureNEW.builder
。- 2つのアクティビティファイルをそれぞれ開き、Ctrl-Shift-Oを実行して不足しているインポートパッケージを追加し、各ファイルを保存します。エミュレータでGestureBuilderアプリケーションを実行します。
また、ファイル内のパッケージへの参照とともに、パッケージ自体の名前も忘れずに変更してください。Eclipseでは、左側のファイルエクスプローラーウィンドウ/ツリービューでパッケージの名前を確認できます。私の経験では、Eclipseは少し微妙で信頼できない場合があります(たとえば、古いパッケージ名への参照が残っているなど)。
app_name
、res-> values => strings.xmlで変更する必要があるかもしれません
Eclipseでパッケージ名を簡単に変更する方法があります。プロジェクトを右クリックし、Androidツールまで下にスクロールして、[アプリケーションパッケージの名前変更]をクリックします。
Eclipseでこれを行う方法は次のとおりです。
src/com.android.gesture.builder
)を右クリックします。Refactor > Rename
名前を選択して、たとえばに変更し
com.android.gestureNEW.builder
ます。<manifest>
タグ内で、パッケージ名をに変更しますcom.android.gestureNEW.builder
。Activity
ファイルをしてくださいCtrl+ Shift+をO、各ファイルの保存、不足しているインポートパッケージを追加します。GestureBuilder
エミュレータでアプリケーションを実行します。
プロジェクトを右クリックして超簡単な方法で更新 ...
ではAndroidのメーカー、はっきり言って、あなたが使用する必要があり、パッケージ名を変更することにより、right-clicking
パッケージ名をproject structure -> Refactor -> Rename...
次に、ディレクトリまたはパッケージの名前を変更するオプションを提供します。パッケージを選択します。ディレクトリはこれに従う必要があります。新しいパッケージ名を入力して、「リファクタリング」をクリックします。すべてのインポートが変更され、冗長なインポートが削除されます。コメントや文字列などで修正することもできます。
最後に、それに応じてAndroidManifest.xmlのパッケージ名を上部に向かって変更します。そうしないと、R.whateverについて不平を言うエラーがどこでも発生します。
別の非常に便利なソリューション
まず、目的の名前のby right clicking on the
javaフォルダーを使用して新しいパッケージを作成します->新規-> パッケージ。`
次に、すべてのクラスを選択して新しいパッケージにドラッグします。AndroidStudioはどこでもパッケージ名をリファクタリングします。
その後:アプリのbuild.gradle
追加/編集で、新しいアプリケーションIDを使用します。つまり(com.a.bc
私の場合):
defaultConfig {
applicationId "com.a.bc"
minSdkVersion 13
targetSdkVersion 19
}
元の投稿とその他のコメントはこちら
package
たフォルダの下にjava
Eclipseなし:
AndroidManifext.xmlのパッケージ名とアクティビティ名を変更し、それが.xmlファイルに表示される他の場所(カスタムビュー名など)を変更します。
すべてのソースファイルでパッケージインポートステートメントを更新する
パッケージ名と一致するようにすべてのフォルダーの名前を変更します。フォルダーの場所:
a。ビン/クラス
b。ジェネレーション
c。src
build.xmlのプロジェクト名を更新します(または、apkの名前は変更されません)
bin / classes / com / example / myapp /にあるすべての.classファイルを削除します(この手順をスキップすると、ビルド中にファイルが書き直されず、dexが「クラス名がパスと一致しない」エラーの処理に多くのトラブルを引き起こします
gen / com / example / myapp / BuildConfig.javaを削除します(ステップ3aでBuildConfig.classを削除してもdexがこのパスを更新しなかった理由はわかりませんが、BuildConfig.javaを削除するまではgen /を再作成し続けましたcom / oldapp_example / oldappおよびBuildConfig.classをそこに配置します。同じ場所にあるR.javaにこの問題がない理由はわかりません。BuildConfig.javaがプリコンパイルで自動生成されているのではないかと思いますが、R.javaではありません)
上記の6つのステップは、パッケージ名を変更してビルドを成功させるために私が行ったものです*。パスを更新するためのdexコマンドを介して、またはプロジェクトのルートディレクトリにあるclasses.dex.dを編集することによって、手順5と6を処理するより良い方法があるかもしれません。私はdexに慣れていないか、classes.dex.dを削除または編集しても問題ないので、ビルドで再生成されることがわかっている.classファイルを削除する方法を選びました。次に、classes.dex.dをチェックして、更新する必要があるものを確認しました。
*ビルドにエラーや警告は残っていません。dexとapkbuilderはどちらも「削除されたターゲットファイルが見つかりました」と表示され、そのファイルに関する詳細はありません。これがすべてのビルドで表示されるかどうか、パッケージ名を変更する前にあったかどうか、または私の削除の結果であり、ステップが欠落しているかどうかはわかりません。
次の手順を実行します:-
完了
Android Studio 1.3でこれを行う最速の方法:
manifest
Module Settings[F4]-> Flavors
、Application Id
同じ名前を書き込みます。[right-click-> new-> package]
[Right-click-> Refactor-> Move-> {Select package}-> Refactor]
PSこの順序に従わない場合、すべてのJavaファイルを1つずつ変更して、新しいインポートと一連のコンパイル時エラーが発生する可能性があるため、順序は非常に重要です。
パッケージ名の変更はお尻の痛みです。方法は人によって異なるようです。私のソリューションは迅速でエラーがありません。Eclipseのクリーニングやリセットは必要ないようです。
代替:
プロジェクトを右クリック> Androidツール>アプリケーションパッケージの名前を変更
srcに移動し、メインパッケージを右クリック>リファクタリング>名前の変更
マニフェストファイルに移動し、パッケージ名を変更します。
したがって、Android(Studio)プラグインでIntelliJを使用することは次のとおりでした:AndroidManifest.xml
一番上に移動し、右クリックしてパッケージ名を変更します-> Refactor-> rename。私たちの当時のパッケージ名には4つの部分がa.b.c.d
あり、新しい部分のみでしたa.b.c
。最初の3つの名前を変更しました。次に、生成されたソースのディレクトリ(app\build\generated\source\r\development\debug\a\b\c\d
)にR
移動し、クラスを右クリックして、Refactor-> Move [d]して1つ上のパッケージに移動しました。同じBuildConfig
の中でapp\build\generated\source\buildConfig\development\debug\a\b\c\d
。
リファクタリング->移動を使用して、IntelliJはBuildConfig
およびへのすべての参照を更新しますR
。
最後に、見つけたgradle.buildで見つけたすべてのapplicationId [s]を更新しました。Clean Project、Make and Rebuild Projectをクリックします。携帯電話からアプリを削除し、「再生」を押しました。すべてうまくいったので、リファクタリングは簡単で非常に高速でした。
Android Studio 1.2.2に変更com.example.myapp
する場合org.mydomain.mynewapp
は、次のスクリーンショットに示すように、各ディレクトリの手順に従ってください。プレビューオプションが表示されるので、変更を加える前にプレビューできます。
に移動しRefactor -> Rename
て、新しい名前を付けます。たとえば、com、example、myappのように、フォルダーごとにそれを行う必要があります。インポートを自動的に更新するので、心配する必要はありません。
また、build.gradle
自動更新されないファイルも更新してください。
defaultConfig {
applicationId "org.mydomain.mynewapp" //update the new package name here
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
その後、それをsync
実行するように要求します。その後、すべてがうまくいきます。この後、APKをgoogleストアにアップロードできます。アプリに署名してストアにアップロードしたことを確認してください。