web-dev-qa-db-ja.com

R.Javaが生成されるパッケージの名前を変更する

Eclipseを使用して、テストAndroidプロジェクトを作成し、R.Javaを含む「gen」フォルダー内のパッケージは現在com.something.testと呼ばれていますテストしますが、アプリ全体をビルドします!)

これはアプリの読み込み時に参照され、電話で時々表示されるため、名前を変更する必要があります。リファクタリングをクリックしてこれを試しましたが、古い名前で再生成しました!

名前を変更できますか?

43
Bex

プロジェクトを右クリックして、Android Tools-> Rename Application Name:

enter image description here

または、手動で行う場合は、マニフェストファイルに移動し、パッケージ名を変更して、プロジェクトをクリーンにします。

85
Cristian

AndroidManifest.xmlを確認してください。<manifest>トップレベル要素にpackage属性があります。ここでR.Javaが生成されます。名前の変更には注意が必要です。

21
Felix

手動で変更しようとする場合、R.Javaファイルがリンクされているというステートメントは正しいです。マニフェストで単純に変更すると、リソースを参照するJavaファイル全体で、「Rを解決できません」というエラーの長いシーケンスが発生します。これを修正するには、これらの各ファイルのRクラスのインポート。

したがって、元々パッケージが「com.mycomp.myapp.Android」であり、それを「com.mynewcomp.myapp.Android」に変更した場合、各Javaクラスファイルに移動する必要があります追加します:

import com.mynewcomp.myapp.Android.R;

プロジェクトで最初に提案された名前変更コマンドを実行すると、これは自動的に行われます。

3
Rich

私はそれが古い質問であることを知っていますが、私は今それを必要としており、おそらく他の誰かもそれを必要としています。 Android Studio 2.1.1を使用しています

動作させるには、変更する必要がありました。

  • パッケージ-AndroidManifest.xml
  • applicationId-appフォルダーのbuild.gradle

この方法では、Javaクラスごとに[〜#〜] r [〜#〜]をインポートする必要はありませんでした。

これは通常の変更ではなく、毎回行うべきではないことを覚えておくことが重要です。

リンク applicationId vs. package name は、それらの違いと、変更しない理由を説明しています。

2
liane

確認するもう1つのことは、xml名前空間を持つカスタムビューがあるかどうかです。 xmlns属性を変更する必要があることに気付くまでに1分かかりました。

<RelativeLayout
    xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:myxmlnamespace="http://schemas.Android.com/apk/res/com.mynew.packagename"
    ...
2
grgrssll

アプリのルートパッケージに名前が付けられます。アプリのルートパッケージを別のものに変更すると、R.Javaがそのパッケージに存在するようになります。

2
Rich

Right Click-> RefactorとAndroidManifest.XML。Rファイルは古いパッケージ名で構築されていました。

プロジェクトを閉じて開くと、この問題は修正されましたが、すべてのJavaファイルを手動で変更する必要がありました。

0
Siddharth