web-dev-qa-db-ja.com

Android-Rクラスを再生成する方法は?

可能性のある複製:
EclipseでのAndroidの開発:R.Javaは生成されません

Eclipse IDEにプロジェクトをインポートしましたが、Rファイルが自動的に生成されないため、エラーが発生します。

プロジェクトの要件に一致するようにRファイルを編集するにはどうすればよいですか?

76
zorglub76

OK、私はそれを修正しました:

マニフェストをターゲット1.5バージョンに変更すると、100万のエラーが表示され、1つだけがRクラスの不存在に関連していませんでした-マニフェストファイルの属性「targetSdkVersion」および「maxSdkVersion」がSDK 1.5に存在しませんでした

このため、Rクラスは生成できませんでした。

15
zorglub76

別のstackoverflow質問 で、誰かがこれに答えました:xmlファイルの警告とエラー(構文とリンク)を取り除く必要があります。これに加えて、クリーン/ビルドプロジェクトを実行します。

[プロジェクト]-> [クリーン]をクリックし、プロジェクトをビルドするオプションを選択します。

47
Goufalite

レイアウトが壊れていて、これが私に起こっていることがわかり、すべてが爆発します。リラックスしてください。セミコロンを1つ忘れて100のエラーが発生するプログラミングを初めて学んだときの古い間違いのようです。多くのパニックは、すべてのボタンを押して、物事を悪化させます。

解決

  • R.のリンク先が壊れていないことを確認してください。破損している場合、ADKはRを再生成しない場合があります。XMLファイル内のすべてのエラーを修正
  • 何らかの理由で何かをヒットし、アクティビティでimport Android.Rを作成した場合、削除
  • Project-> Cleanを実行します。これにより、RおよびBuildConfigが削除および再生成されます。
  • プロジェクト->自動ビルドにチェックが入っていることを確認してください。
  • 待機エラーが消えるまで数秒。
  • 動作しない場合は、/ gen /フォルダー内のすべてを削除します
  • それでも機能しない場合は、プロジェクトを右クリック-> Android Tools-> Fix Project Propertiesを試してください。

Rが再生しない場合の対処方法

これは通常、壊れたxmlファイルがある場合に発生します。

  • 主に/ res /フォルダー内のXMLファイル内のエラーを確認します
  • よくある場所は/ layout /と/ values /です。特に最近変更した場合
  • AndroidManifest.xmlを確認してください。文字列を変更することがよくあり、AndroidManifest.xmlから文字列名を変更するのを忘れています。
  • 問題が見つからない場合。 / gen /を右クリック->ローカル履歴から復元...-> R.Javaをチェック->復元をクリック。これは問題を解決しませんが、余分なエラーを取り除き、問題を見つけやすくします。

すでに多くの回答があることは知っていますが、これはGoogleの最初のリンクです。したがって、ここですべてのアドバイスをまとめて、これが他の誰かに役立つことを願っています:)

30
Muz

アイコンとレイアウトファイルを追加した後、R.Javaファイルが再生成されないという同様の問題がありました。クリーニングと再構築を試みましたが、元のR.Javaファイルがなくなってまだ再生されていなかったため、事態はさらに悪化しました。最終的には、R.Javaを生成するコンパイラーにはコンパイラー・エラーがなければならず、コンソールには表示されないことがわかりました。幸いなことに、私は以前に気づいた

  1. ある.xmlファイルが存在しない別の.xmlファイルを参照している場合はエラーです。
  2. ファイル名に大文字が含まれているとエラーになります(これは禁止されているため、キャメルケースが大好きです)。

とにかく、アイコンと.xmlファイルの名前をすべて小文字に変更し、.xmlファイル内のすべての参照を修正すると、R.Javaが再生成されました。昼食をとったときに気分が良くなるのにちょうど間に合います:-)

14

Rファイルを再度生成するには:

  1. Layout-> activity_main.xmlで何かを変更します
  2. ファイルを保存する
  3. プロジェクト->クリーン...

GenディレクトリにあるRファイルを削除してから、Project-> Cleanを試してください。その後、アプリを再度ビルドします。

8

project -> Android Tools -> Fix Project Propertiesを右クリックすることもできます。これにより、R.Javaクラスが再生成されます。

7
Erich Douglass

問題はマニフェストファイルにありました。ランチャーアイコンを削除しましたが、マニフェストの新しいアイコンを参照しませんでした:)

4
InsaurraldeAP

R.classを再生成するには、複数の手法を試す必要があります。

  • JavaソースファイルからRインポートを削除します:import R.Android
  • [ウィンドウ]-> [ビューを表示]-> [問題]に移動して、[問題]パネルを必ず開いてください。
  • Xmlリソースに何らかのエラーがある場合は、それらのエラーを修正する必要があります。私の場合、次のように「+」記号を含めるようにid属性を変更する必要がありました:Android:id="@+id/grp_txt"
  • 次に、プロジェクト->クリーンを実行します
  • 最後にProject-> Close、Project-> Openを実行します

「+」記号は新しいリソースIDを示し、aaptツールがR.Javaクラスに新しいリソース整数を作成することを強制します。

4
Temperage

Eclipseを再度開き、xmlファイルの1つを編集してから、アクティビティクラスがパッケージ「R」ではなくAndroid.Rを参照していることを発見します:-)

4
Charles

"project clean"によってEclipseでRを誤って削除した場合(これを行わないでください)Projectfileを右クリック->ローカル履歴から復元...

あなたのRを再作成する

私の場合:

  • Xmlが壊れているとRにバグが発生します(ä、ö、ü、idの文字のため)
  • クリーンプロジェクトは私のRを削除しました.

私がしたこと:

  • ローカル履歴からRを再作成しました
  • クラスで間違ったRインポートをチェックし(Android.Rのインポートなど)、それらを削除しました
  • そのxmlファイルを修正し、その内容を外部のtxtファイルに保存しました
  • プロジェクトからxmlを完全に削除しました。
  • 私のプロジェクトを一度実行した
  • その固定xmlを元の場所に戻す

そして...

  • ハルクのように驚いた後、理由もなく私のガールフレンドに大きな抱擁を与えました。
2
Corona

私の問題は、XMLファイルのエラーでした。 Android Common XML EditorまたはAndroid Common Manifest Editorでエラーが常に自動的に検出されるわけではないため、代わりに通常のテキストエディターを使用してみてください。たとえば、何らかの方法で.Javaファイルからのランダムな意味不明なものが、マニフェストファイルとstrings.xmlファイルに挿入されました。

XMLファイル(おそらく/ resフォルダーまたはAndroidManifest.xml内)を右クリックし、[アプリケーションから開く]をクリックして、[テキストエディター]を選択します。すべてが正常に見えることを確認してから保存します。また、プロジェクトで「自動的にビルド」を有効にしてください。 R.Javaファイルを削除し、ゼロから再構築したため、ローカル履歴から復元する必要はありません。

2
jgonagle

Intellij IDEAを使用する場合、[ビルド]-[プロジェクトの再ビルド]をクリックできます。

2
Georgy Gobozov

たとえば、/res/layoutフォルダーに新しい「Android XMLファイル」を追加してみてください。これにより、プラグインがRクラスを再生成する場合があります。

1
Richard Szalay

私がやったように、グーグルで他の誰かがこのスレッドを見つけた場合:

私はしばらくの間同じ問題のように見えましたが、少し掘り下げた後、R.Javaファイルが正しくビルドされたのに気づきましたが、ソースファイルのoneだけは無視されました。この特定のファイルの問題は、Eclipseが先頭に次の行を「役立つように」追加したことです。

import Android.R;

これにより、プロジェクトRのものが事実上隠されます。削除するだけで、すべて正常になります...

1
Jonas

同じ問題がありました-「R」がありません。そして、ここで与えられたアドバイスはどれも役に立たなかった。幸いなことに、私はその理由を見つけました-どういうわけかEclipseはProject-Properties-targetを失いました。設定されていません。私は今まで何をしたのかわかりませんが、それを元に戻すのが助けになりました。そのため、注意-Rの欠落はターゲットの欠落を意味する可能性がありますも!

1
Gangnus

プロジェクトのプロパティに移動してAndroidオプションを選択し、プロジェクトのターゲットを定義することができます。このプロジェクトに選択したターゲットAPIを適用すると、R.Javaが自動的に生成されます。

1
subnesh

上記のすべてのソリューションを試しました。しかし、残念ながら私の問題は解決しませんでした。描画可能なフォルダに新しい画像を貼り付けるとすぐに、R.Javaはなくなりました。この質問に対する答えを読んだ後、削除持っているアイコン以前に貼り付けた(ビルド自動有効化中)を試みましたが、すべてうまくいきました。これが誰かを助けることを願っています!

1
Alanagh

/ resフォルダー内のxmlファイルを変更するだけで、スペースを追加して保存するだけでも、再生成されます。

1
Cytown

Eclipseの「ローカル履歴から復元」を使用して、古いRファイルが削除されている場合は復元できます。その後、Eclipseがファイルを作成できない原因を確認できます(問題の修正に実際に役立った、以前よりも他のエラーを見てきました)。

1
user1201626

私はその問題を抱えていたので、プロジェクトのパケットとBuild Projectを右クリックしました。すぐにクラスRがパケット生成に現れました。

1
AlexisM

ほとんどの場合、無効なレイアウトファイルに問題があります。 「問題」ビューを開き、XMLレイアウトファイルでエラーを探します。それらを修正すると、Rクラスが再作成されます。

私の場合、本当のエラーはありませんでした。問題ビューは、xmlレイアウトでエラーを示しました。エディターもxmlエラーを示しました。 'ctrl-f'で自動フォーマッターを使用してxmlを再フォーマットするだけで、xmlの 'エラー'が '修正'され、Rクラスが再作成されました。

1
schwarz

私にとっては、定義されていない文字列値のリソースでした... Strings.xmlに手で追加した後、Rクラスは自動的に再生成されました。

0
richey

この問題は通常、既存のプロジェクトからインポートするときに発生します。 resフォルダー内のすべての。xmlファイルとManifestファイルのすべてのエラーを修正してください。ほとんどの場合、エラーは「match_parent」パラメータで表示されます。「fill_parent」に変更します。すべてのエラーが明確になると、R.Javaが表示されます。

.xmlファイルにエラーがない場合。任意のxmlファイルを編集して(レターを削除して入力し直すなど)、ファイルを保存してください。これにより、R.Javaが生成されます。

0
laph

R.Javaファイルをプロジェクトから削除するだけで、ビルドが自動的に有効になっていると仮定して再生成されます。ビルドが自動的に有効になっていない場合は、単にプロジェクトに移動->すべてビルド

0
Steve

findViewById(R.id.edit_text)がEditTextではなくTextViewを返すという問題があります。問題は、R.idクラスのID番号が間違っていることだと思います。その後、プロジェクトをクリーンアップしてから、正常に動作します。

0
Simon