Eclipseを使用して、テストAndroidプロジェクトを作成し、R.Java
を含む「gen」フォルダー内のパッケージは現在com.something.test
と呼ばれていますテストしますが、アプリ全体をビルドします!)
これはアプリの読み込み時に参照され、電話で時々表示されるため、名前を変更する必要があります。リファクタリングをクリックしてこれを試しましたが、古い名前で再生成しました!
名前を変更できますか?
プロジェクトを右クリックして、Android Tools-> Rename Application Name:
または、手動で行う場合は、マニフェストファイルに移動し、パッケージ名を変更して、プロジェクトをクリーンにします。
AndroidManifest.xml
を確認してください。<manifest>
トップレベル要素にpackage
属性があります。ここでR.Java
が生成されます。名前の変更には注意が必要です。
手動で変更しようとする場合、R.Javaファイルがリンクされているというステートメントは正しいです。マニフェストで単純に変更すると、リソースを参照するJavaファイル全体で、「Rを解決できません」というエラーの長いシーケンスが発生します。これを修正するには、これらの各ファイルのRクラスのインポート。
したがって、元々パッケージが「com.mycomp.myapp.Android」であり、それを「com.mynewcomp.myapp.Android」に変更した場合、各Javaクラスファイルに移動する必要があります追加します:
import com.mynewcomp.myapp.Android.R;
プロジェクトで最初に提案された名前変更コマンドを実行すると、これは自動的に行われます。
私はそれが古い質問であることを知っていますが、私は今それを必要としており、おそらく他の誰かもそれを必要としています。 Android Studio 2.1.1を使用しています
動作させるには、変更する必要がありました。
この方法では、Javaクラスごとに[〜#〜] r [〜#〜]をインポートする必要はありませんでした。
これは通常の変更ではなく、毎回行うべきではないことを覚えておくことが重要です。
リンク applicationId vs. package name は、それらの違いと、変更しない理由を説明しています。
確認するもう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"
...
アプリのルートパッケージに名前が付けられます。アプリのルートパッケージを別のものに変更すると、R.Javaがそのパッケージに存在するようになります。
Right Click-> RefactorとAndroidManifest.XML。Rファイルは古いパッケージ名で構築されていました。
プロジェクトを閉じて開くと、この問題は修正されましたが、すべてのJavaファイルを手動で変更する必要がありました。