最近、R.Javaファイルでかなりの問題を抱えています。今、私はバックアップを行い、何が起こるかを確認するためにファイルを削除することにしました。
何も起こらなかったので、空のR.Javaファイルを作成し、最善を尽くしました。これで、Eclipseはファイルが改ざんされたことを理解し、警告を出すことさえあるようです:
R.Java was modified manually! Reverting to generated version!
そして、それだけです。手動でビルドしてみましたが、結果がありませんでした。
だから、私は2つの質問があります:
何か助けていただければ幸いです。いつものように、問題は締め切りの数日前に発生しました:)
私は問題を見つけました-パッチ領域がY軸上でのみ定義された9patchイメージを作成しました(他のサイズ変更を防止しようとしました)。
問題は残ります:なぜエラーに関する警告がないのですか?またはある場合-それはどこに埋葬されていますか?
Androidアプリをコンパイルするときに問題が発生しました。R.Javaの生成の失敗に関する不可解なエラーが表示されます。
この問題は、ビルド中に以前にAndroidエミュレーターを殺したことによって引き起こされました。それを行わないでください!残されたいくつかの* .out.xmlファイルの外観が手掛かりでした。
解決策は、プロジェクトを選択し、[プロジェクト]-> [クリーン]をクリックし、次にすべての* .out.xmlファイルを手動で削除するです。そうしてはじめてRun-> Runをクリックしてビルドを成功させることができました。
もう1つ、Eclipseを使用しています。プロジェクトがパッケージエクスプローラーで選択されていること、およびnotがランダムなソースファイルであることを確認する必要がありました。気づきにくい!
R.Javaはビルド時に自動生成されます。そのコンテンツは、リソースファイル(レイアウトや設定を含む)に基づいています。
削除すると再作成されますが、独自に作成するとビルドシステムで置き換えられないためトラブルになります。
(手動で、またはProject-> Cleanを選択して)もう一度削除して、プログラムを再構築できます。
この問題は何度か発生しましたが、ほとんどの場合、「res」ファイルのミスが原因です。すべてのresファイル(主にXML)で問題がないことを確認してから、ビルドできます。
たとえば、この問題の2つの一般的な原因は次のとおりです。
XMLファイルのスタイルのプロパティの名前を正しく綴っていませんでした。
ロケールファイルのXMLの文字列を適切に閉じませんでした。
同じ問題があり、リソースファイル(.png画像)に大文字を使用して名前を付けていました。 (imagebutton001.pngの代わりにImageButton001.png)。
ファイルの名前をさらに変更すると、私のR.Javaが戻ってきました。
Rgards、Juan
十分な空きメモリがない場合、ビルドツールは警告なしに失敗します(Eclipseはエラーを表示せず、エラーログに何も報告しません)。開いている他のアプリケーション(エミュレータやブラウザなど)を閉じ、アプリケーションマニフェストファイルにスペースを追加して保存します。
申し訳ありませんが、Eclipseで出力を確認してください。 Eclipseがビルドプロセスを完了するのを妨げるいくつかのエラーがあるかもしれません(AndroidManifest.xmlを確認してください、それは正しいですか?)つまり、すべてのリソースファイル(string.xml、レイアウト、...)とインターフェースを確認する必要があります(* .aidl)、EclipseがR.Javaを生成できないいくつかの問題(一貫性のない構文、または何か...)がある可能性があります。
私はこの問題を抱えていました、再構築するためにR.Java
私は今取り組んでいるxmlファイルのコードを切り取り(または、これが機能しない場合は他のファイルを試します)、ファイルを削除してから、同じ名前で別のファイルを作成し、コードを貼り付けます。お役に立てれば。
同様の問題があり、Rawフォルダー内の.wavファイルの名前を大文字に変更しました。すべて小文字に変更すると、プロジェクトがクリーンアップされ、R.Java
結構です。
ポンキンが述べたように-あなたはおそらくRがそれ自身を再生成しない単一の問題を抱えています。
自分でRクラスを作成しようとしないでください。あなたがいじっていた最後のXMLを考えてみて、エラーがないか確認してください
私は同じ問題を抱えていました ここ
他の人が述べたように、独自のR.Java
ファイルを作成しないでください。私が最初にAndroidを使い始めたときに同じ問題に遭遇しましたが、コンパイルエラーが原因を突き止めるには少し時間がかかりました。
R.Java
ファイルを使用して何をしようとしましたか?
不要なリソースが問題の原因であることがわかりました。リソースを削除するとすぐに、R.Javaが生成されました。
XMLファイルに?が含まれている場合、R.Java
は再生成されず、エラーはXMLファイルに表示されません(しばらくすると表示されることがあります)次のような行があります。
< string name="questionmark"\>?< /string> <br>
変更してみますか?他の何かにして、R.Java
ファイル-私のために働いた
私も同じ問題を抱えていました。私はちょうど行きました:
Project -> Properties -> Android
自分のプロジェクトに適したエミュレーターを選択したので、その瞬間から3種類から選択できました。いつかエミュレータを変更したことに気づきました。ですから、エミュレータを変更してみてください。
幸運を
エラーがないことを確認してくださいマニフェストファイル。 /res/values/strings.xmlのリソース文字列app_nameを削除すると、R.Javaの正しい生成方法がわかりません。 HelloSpinnerチュートリアルを実行しているときに、これが問題であることがわかりました。
IntelliJでも同じ問題が発生しました。問題は、strings.xml
でapp_nameが2回定義されていることでした。何らかの理由で、IDEA検査ではこれが自動的に取得されませんでした。
同様の問題がありました。クリーニングプロジェクトでは問題が解決せず、コードやファイル名の大文字やスペースにエラーはありませんでした。
解決策は、[プロジェクト]-> [クリーン]を選択し、[ビルドをすぐに開始する]オプションをオフにしたときに表示されるポップアップウィンドウに移動することでした。プロジェクトをクリーンアップします。 Eclipseを閉じて再度開き、プロジェクトをビルドします(PROJECT-> BUILD)。
Eclipseを閉じずに単純なクリーンアンドビルドが機能しなかった理由はまだ残っています。
補足として、通常、これらの* .out.xmlファイルは、xmlファイルがエディターでフォーカスされている間にプロジェクトをビルドしようとすることによって生成されます。
私は別のサイトでこれを読み、それが私を助けました:
「それでも問題が解決しない場合は、AndroidManifest.xml
を変更してみてください(スペースを追加して保存するだけです)。これにより、R.Java
が強制的に再構築されます。」
マニフェストファイルにスペースを追加してから、再構築してください。