IntelliJ IDEA に基づいて、新しい IDE Android Studio でパッケージの名前を変更するにはどうすればよいですか?
自動リファクタリングは含まれていますか?
一括リファクタリングをしたいのですが、方法がわかりません。私は Eclipse で 2 年間働きましたが、Eclipse ではワンクリック操作です。
IntelliJ IDEA に基づいて、新しい IDE Android Studio でパッケージの名前を変更するにはどうすればよいですか?
自動リファクタリングは含まれていますか?
一括リファクタリングをしたいのですが、方法がわかりません。私は Eclipse で 2 年間働きましたが、Eclipse ではワンクリック操作です。
もう 1 つの適切な方法は次のとおりです。まず、Java フォルダー →新規→パッケージを右クリックして、目的の名前で新しいパッケージを作成します。
次に、すべてのクラスを選択して新しいパッケージにドラッグします。Android Studio は、どこでもパッケージ名をリファクタリングします。
最後に、古いパッケージを削除します。
終わり。
非常に重要:
この方法を使用する場合、AndroidManifest.xmlとbuild.gradleファイルを手動で新しいパッケージに変更する必要があります。
アプリケーション ID (現在はパッケージ名から独立しています) の変更は、1 つのステップで非常に簡単に行うことができます。AndroidManifest に触れる必要はありません。代わりに、次のようにします。
これはパッケージ名を変更しないことに注意してください。パッケージ名とアプリケーション ID の分離については、http: //tools.android.com/tech-docs/new-build-system/applicationid-vs-packagenameで説明されています。
ファイルを開きます。
アプリ → マニフェスト → AndroidManifest.xml
変更するパッケージ名の各部分を強調表示します (パッケージ名全体を強調表示しないでください)。
パッケージ名の各部分でこれらの手順を実行します。
開く (Gradle スクリプト) >> (build.gradle(Modul:app))
applicationId をパッケージ名に更新します
メニュー (ビルド) を開き、 (プロジェクトの再ビルド) を選択します。
パッケージ名を変更する
パッケージ名を変更するには、AndroidManifest.xml
ファイルに移動し、変更したいパッケージ名の部分の前にマウス カーソルを置くだけです。
右クリック > リファクタリング > 名前の変更
新しいウィンドウで、パッケージの名前を変更を押します
名前を変更してリファクタリングを押します
…そして下部にある Do Refactor を押します。
通常、パッケージ名は com.domain.appname の形式です。この例では appname の部分を変更しましたが、ドメインに対しても同じ手順を実行できます。
終わり!パッケージ名を変更しました!
投票数の多い回答を見てきましたが、これを行うには少し異なることがわかりました。最も完全なチュートリアルを実行しようとしています。
Android Studio から歯車アイコン ( ) をクリックし、次のオプションを選択します
"Compact Empty Middle Packages"
。
フォルダを選択し、右ボタンをクリックしてコンテキストメニューを開き、選択Refactor
してからRename
パッケージをリファクタリングすることをお勧めします。
次に、ウィンドウにプロジェクト内の一致が表示されます。次を選択します"Do Refactor"
。
AndroidManifest.xml または build.gradle ファイルを手動で変更する必要はありません。パッケージをリファクタリングするだけで十分です。
IntelliJ IDEA には、「Compact Empty Middle Packages」というオプションがあります。プロジェクトタブのオプションアイコンを選択し、これを非アクティブ/アクティブにします。
Sheharyar's great Answerに必ずアクセスしてください。それに続く非常に多くの回答とコメントがあるため、混乱してあきらめるのは簡単ですが、そうしないでください。その答えはうまくいきます。
つまり、次の 3 つのことを行います。
(1) の選択を解除しCompact Empty Middle Packages
ます。
(2)Refactor
次に、新しいパッケージ名と一致するように( notRename
) を選択して、各古いディレクトリ ノード。(必ず変更のプレビューを行ってください。)Change Package
Change Directory
build.gradle
(3)ファイルを編集しAPPLICATION_ID
、新しいパッケージ名と一致させます。
上位投票の 2 つのソリューションを試しましたが、どちらもある程度は機能しますが、いくつかの問題が見つかりました。
いくつかの実験の後、次の方法がうまく機能することがわかりました。
パッケージ名の最後の部分だけを変更する必要がある場合は、GreyBeardedGeek によって概説されている方法を使用します。
プロジェクト ペインでパッケージを右クリックします。コンテキスト メニューから [リファクタリング] -> [名前の変更] を選択します。
パッケージ名全体を変更する必要がある場合は、次の手順を実行します。
プロジェクト ペインでパッケージを右クリックします。コンテキスト メニューから [リファクタリング] -> [移動] を選択します。
これにより、(必要に応じて) 新しいパッケージ フォルダーが作成されますが、パッケージ名の最後の部分は以前と同じように保持されます。最後の部分を変更する必要がある場合は、それに応じて名前を変更してください。
また、build.gradle、マニフェスト、および/または任意の xml リソース ファイル、またはハードコードされている場合はコード内のパッケージ名を変更する必要がある場合があることにも注意してください。その後、必要に応じてプロジェクトの同期/クリーン/再構築を行います。
パッケージには 2 つの目的があります。1 つは、Google Play ストアでアプリを一意に識別することです。もう 1 つはR.java class
、プロジェクトのビルド時に生成されるパッケージに名前を付けることです。最初の目的を外部パッケージ、2 つ目の目的を内部パッケージと考えることができます。Playストアで識別できるように外部パッケージを変更したい場合、これを行う便利な方法があります。
Androidスタジオでは、
choose File -> Project Structure -> Choose your app's module -> Click on the
Flavors tab -> change the Application id.
これで、プロジェクトをビルドすると、APK とマニフェストでこの新しいパッケージ名が使用されます。
特にドメインも変更したい場合は、ここでのいくつかの回答に対する別の方法または追加の手順を見つけました。Android Studio 1.4 で動作します。これは私がしたことです:
build.gradle
ファイルを開き、defaultConfig のアプリケーション ID をマニフェストと同じ名前に変更して、プロジェクトを再構築します。たとえば、「com.example.app」の名前を「com.YourDomain.app」に変更する場合は、名前を変更するパッケージの下にあるファイルを開き、パッケージのブレッドクラムで、カーソルをドメインの「example」部分に設定します。Shift+F6を押して、パッケージの名前を「YourDomain」に変更します。
更新された回答: 2015 年 5 月
OK Android Studioでプロジェクトのクローン作成と名前変更に苦労していましたが、ついに達成しました。手順は次のとおりです。
それでおしまい...
最初の部分は、java
フォルダーの下に新しいパッケージを作成し、すべてのソース ファイルを選択してold package
からこのにドラッグすることnew package
です。その後rename the package name in android
、新しいパッケージの名前に manifest` する必要があります。
ステップ 2 では、次のことを行う必要があります。のパッケージ名を変更するだけでなく、Android StudioapplicationId
のモジュールの下にある古いパッケージ名を変更する必要があります。要約すると、「AndroidManifest.xml」の下にあるものをクリックし、の値を新しいパッケージ名に変更します。build.gradle
manifest
build.gradle
applicationId
次に、最上部のbuild
. clean
あなたのプロジェクト、そしてrebuild
。ここからは大丈夫なはずです。
に名前を変更com.example.app
する方法com.android.app
:
インパッケージcom.example.app
セレクト例
Shift+F6
選ぶrename package
例の名前を android に変更
確認do refactor
これは、あなたが探しているのは Refactor > Move だと思います。F6 キーを押すこともできます。
2 つのポップアップが表示されます。両方でパッケージの名前変更を選択してください。その後、新しいパッケージ名を配置するポップアップが表示されます。
たとえば、パッケージ名が com.example.android.projectname の場合、com.example.android を別の名前に変更できることに注意してください。
もう 1 つ、これにより build.gradle の applicationId も更新されます。「コメントと文字列を検索」と「出現するテキストを検索」のチェックボックスが両方ともチェックされていることを確認してください。
終わり!
Android studio でパッケージ名を変更するには、プロジェクト セクションの設定アイコンをクリックし、Compact empty Middle Packagesのチェックを外します。その後、パッケージは複数のフォルダー名に分割され、名前を変更する必要があるフォルダーを右クリックします。 、refactor -> Rename ->変更する名前を入力-> Refactor -> Refactor Directoryをクリックし、プロジェクト全体に R.java ファイルをインポートします。私のために働いています。
これらの手法のいずれかに従ってパッケージの名前を変更すると、エラーが発生する可能性があります。
R.java が適切に生成されていない場合、プロジェクトで多くのエラーが発生しerror: cannot find symbol class R
、error: package R does not exist
.
アプリケーション マニフェスト xml を忘れずに確認してください。マニフェスト パッケージ名は、実際のパッケージ名と一致する必要があります。R.java はアプリケーション マニフェストから生成されているようで、不一致があるとこれらのエラーが発生する可能性があります。
package
で属性の一致を確認することを忘れないでください<manifest package="com.yourcompany.coolapp">
質問は次のとおりです。
自動リファクタリングは含まれていますか?
一括リファクタリングをしたいのですが、方法がわかりません。私は Eclipse で 2 年間働きましたが、Eclipse ではワンクリック操作です。
自動リファクタリングでほぼワンクリックですが、最初に 1 つの小さなステップ、つまり、新しいパッケージを作成するための小さなステップだけです。以下は完全なソリューションです。
新しいパッケージ (必要なフォルダー パスを含む) を作成してパッケージの名前を変更し、古いパッケージからドラッグ アンド ドロップします (古いパッケージから新しいパッケージへのさまざまな参照のリファクタリングを Android Studio に任せます)。 )、 次のように:
java
の下を右クリックしますapp
。New
してPackage
注意: 最近はアプリケーション ID とパッケージ名が切り離されているため、上記はパッケージ名の名前変更のみを目的としていることに注意してください。アプリケーション ID を変更するには、build.gradle
.
元のパッケージの残骸を削除するには、File->Invalidate Caches/Restart... を実行する必要がありました
これは、関連するすべてのモジュールで、パッケージ内で変更したいフォルダー名のオカレンスを変更する場合でも、私にとっては非常にうまく機能しますが、私にとっては、次の手順を正確に実行した場合にのみ正常に機能します。
パッケージが で始まる場合、にmypackageold.something.test
変更することはできませんmypackagenew.somethingnew.testnew
。
この場合、上記の受け入れられた回答手順に従うと、結果は になりますmypackageold.somethingnew.testnew
。
パッケージが新しいパッケージで始まる場合にのみcom....
、上記の受け入れられた回答が機能します。
したがって、ルート レベルからパッケージを変更する場合は、
build.gradle
て更新しapplicationId
ます。私にとっては、ライブラリ モジュールのパッケージ名の代わりにディレクトリ名を変更し、下部にある [リファクタリングを行う] をクリックしただけです (例: com.reg.register -> com.reg1.register から)。
その後、ビルドgradleファイルとマニフェストファイルで新しいディレクトリ名を更新したことを確認してください。
プロジェクトを再構築します。
やり方はとても簡単です。次の 2 つの手順に従ってください。
ルート フォルダーを右クリックし、[モジュール設定を開く] をクリックします。
この後、フレーバータブに移動し、必要に応じてアプリケーション ID を変更します。
これはbuild.gradleファイルのアプリケーションIDのみを変更すると考えている人のために:
Google によって書かれている
ビルドされた .apk のマニフェストで使用される最終的なパッケージであり、デバイス上および Google Play ストアでアプリとして認識されるパッケージは、「アプリケーション ID」です。
と
R クラスを参照し、関連するアクティビティ/サービスの登録を解決するためにソース コードで使用されるパッケージは、引き続き "パッケージ" と呼ばれます。
http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagenameで詳細を読むことができます