750

私が参照するすべてのクラスのすべてのインスタンスでR.id.somethingRは赤で表示され、「シンボル R を解決できません」と表示されます。R.layout.somethingまた、赤で下線が引かれ、「メソッド setContentView(?) を解決できません」と表示されるたびに表示されます。プロジェクトは常に正常にビルドされます。これをずっと見るのは面倒です。私は、Eclipse からプロジェクトをインポートすることに最も関連しているが、似たようなものについて、ここで他の多くの質問を読みました。私は Android Studio の最新バージョンであると思われるものを使用しています。プロジェクトは Android Studio で作成され、「R を解決できない」という問題は発生しませんでした。原因がわかる方がいましたら教えていただきたいです。

4

95 に答える 95

728

私もこの問題を抱えていました。シンプルな「gradlew clean」と「gradlew build」でうまくいきました。


Build->Clean Projectをクリックすると、 gradle clean が実行されます

于 2013-08-12T09:30:34.060 に答える
109

私は同様の問題を抱えており、これが私がやったことです:

プロジェクトをクリーンアップし、プロジェクトを Gradle と同期します。

ここに画像の説明を入力

SDK で buildTools のバージョンを確認する ここに画像の説明を入力

build gradle (module) から minSdkVersion を 8 から 9 に変更します

defaultConfig {
        applicationId "PackageName"
        minSdkVersion 9
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }

しかし、これはすべて役に立ちませんでした。

最後に答えを見つけました(これは私の場合はうまくいきました)

build.gradle(module:app) からの変更

android {
    compileSdkVersion 21
    buildToolsVersion '21.0.1'
......
....
}

または

ファイルを選択 | プロジェクト構造の変更 ビルド ツールのバージョンを 21.1.1 に変更

ここに画像の説明を入力

于 2015-05-03T15:11:15.063 に答える
52

Java ファイルまたはディレクトリを他の場所に移動した後にこのエラーが表示された場合は、Android Studio が混乱していることを保証できます。そして、何を推測しますか?これらのアクションを元に戻しても、問題は解決しません。

だからあなたはきれいにしようとしますが、それはうまくいきません。

また、再起動してもうまくいきません。

ただし、ファイルを試してください->キャッシュの無効化/再起動...->無効にして再起動します

Android Studio は、どのファイルが他のどのファイルに依存しているかに関する情報を保持しています。また、ファイルの移動は正しく実装されていないため、ファイルを移動するとエラーが発生します。それだけではありません。これらの依存関係のキャッシュは、ビルドを高速化するために使用されます。

これは、再起動するだけでなく、それらのキャッシュを無効にして正常性を復元 (より正確には再構築) する必要があることを意味します。

于 2015-10-20T18:47:41.370 に答える
48

アクティビティファイルをデフォルト以外のフォルダーに配置すると思います。を使用してすべてのアクティビティにcom.example.yourproject.R(これはプロジェクトRファイルではなくファイルです)をインポートする必要があります。たとえば、ファイルに次の行を挿入します。Android.RRMainActivity

import com.example.yourproject.R;
于 2014-03-12T07:40:17.663 に答える
17

R.java ファイルには、xml と Java ページ間のリンクが含まれています。「R を解決できません」は、リソース ファイルの一部に問題がある場合にのみ発生します。したがって、最善かつ効果的な方法は、res ファイルで最後に行われた xml または drawable を削除することです。そして、Android のコーディング基準に従って、そこから再び開始します。これが唯一の方法です。効果的で正しい方法。

また、コードを適切に追跡するために Git を使用します。..

于 2014-04-03T03:43:43.637 に答える
13

RパッケージをAndroidスタジオにインポートする必要がありました。例:import com.example.<package name>.R

于 2014-07-23T21:11:16.463 に答える
10

最近この問題が発生し、クリーン/ビルドなどで解決しませんでした。どこかに問題があると思いましたが、それを見つけるためにどこを探すべきかわかりませんでした (マニフェスト、リソース xml ファイルなどにありましたか?)。

何か問題が発生した場合は、コード分析を実行することで原因を突き止めることができます。

上部のメニューから次を選択します。

分析 -> コードを検査し、「デフォルト」プロファイルを使用してプロジェクト全体をスキャンします。

検査結果には「Android」という要素が含まれます。ここでは、リソースとマニフェスト ファイルで問題を引き起こしているすべてのリストを取得します。エラーにより、ビルドから生成された xml ファイルが開き、エラーが赤で表示されます。

<application>フレーバーベースのマニフェストファイルを使用していて、誤ってフレーバーのタグ内にいくつかの権限をコピーしたため、正確な問題が発生しました。

検査

更新:エラーがまだ残っている間にビルドして完全に正常に実行できるようになったにもかかわらず、修正後も Android Studio にエラーが表示された後、問題が発生しました。(私はカナリアビルドを実行しているので、今のところそれを下に置きます)

于 2015-12-03T12:44:16.133 に答える
10

私はこれを持っていました

  1. ドローアブル リソースの大文字。
  2. Android Studio (または Eclipse) によって追加された Android.R をインポートします。
  3. xml ファイルのエラー
于 2013-09-24T14:54:10.287 に答える
8

Android のトップ メニュー リストに移動するだけです。[ビルド] メニューをクリックし、[ビルド] の下にある [プロジェクトの再構築] をクリックします。

ここに画像の説明を入力

于 2016-03-29T06:35:11.683 に答える
6

同じ問題があり、新しいプロジェクトを作成すると発生します。

私がすることは:

  • SDK の更新を確認する
  • その後、Androidスタジオの更新、
  • その後、プロジェクトを再度開きます
  • andoridmanifest.xml を開く
  • android:label の「_>」の間のスペースを消去して保存します。

それは私にとってはうまくいきます。

于 2013-07-03T15:42:28.573 に答える
5

私は同じ問題を抱えていましたが、ほとんどの場合、それは次の方法で解決されます

  • プロジェクトをgradleファイルと同期する
  • ビルドを実行 -> プロジェクトをクリーンアップ
  • ファイルの実行 -> キャッシュの無効化

しかし、今回は、これらすべてのことを行った後でもエラーが持続し、ついに犯人を見つけました.

問題は、 id リソース タイプの代わりに通常の文字列値を指定したxml ファイルにありました。android:id

間違い

android:id="username"

修正

android:id="@id/username"

resourcesこのエラーの主な原因は、xml ファイルに関連するものをめちゃくちゃにすることです。xml レイアウト ファイルではエラーとして表示されない場合があることに注意してください。

ノート

ほとんどの場合、コンパイラはメッセージにエラーの原因を示します。他の解決策を試す前に、まず確認してみてください

于 2016-11-29T09:47:05.227 に答える
5

`私は同じ問題を抱えていましたが、次の方法で解決しました:

1) Sync Project with gradle files
2) Build -> Clean Project
3) Build -> Rebuild Project
4) File -> Invalidate caches

//imp step
5) Check your xml files properly.`
于 2017-09-19T05:46:16.617 に答える
4

同じ問題。drawable フォルダーにいくつかの画像を追加して、それらにアクセスしようとしたときに始まりました。また、追加された画像には大文字の拡張子が付いていました。名前を変更してもメッセージは同じで、R にアクセスできなかったため、ビルドがクラッシュしたようです。私がしたことは、.iml ファイルで excludeFolder を探し、それらを削除したことです (以下のように):

  <excludeFolder url="file://$MODULE_DIR$/build/apk" />
  <excludeFolder url="file://$MODULE_DIR$/build/assets" />
  <excludeFolder url="file://$MODULE_DIR$/build/bundles" />
  <excludeFolder url="file://$MODULE_DIR$/build/classes" />
  <excludeFolder url="file://$MODULE_DIR$/build/dependency-cache" />
  <excludeFolder url="file://$MODULE_DIR$/build/incremental" />
  <excludeFolder url="file://$MODULE_DIR$/build/libs" />
  <excludeFolder url="file://$MODULE_DIR$/build/manifests" />
  <excludeFolder url="file://$MODULE_DIR$/build/res" />
  <excludeFolder url="file://$MODULE_DIR$/build/symbols" />
  <excludeFolder url="file://$MODULE_DIR$/build/tmp" />

その後、プロジェクトを再構築すると、魔法のように R が再表示されました。

于 2014-03-21T10:07:13.837 に答える
4

このエラーには多くの原因があります。

  1. 同じ名前の画像ファイルを置き換えるために発生することがあります。
  2. レイアウト .xml からアイテムを削除したとします<Button/>が、それはアクティビティまたはフラグメント .java でまだ宣言されています。
  3. もっとたくさん。

エラーを追跡する最善の方法は、意図的なエラーを発生させてクリーンにするか、同期して再構築することです。

問題が解決しない場合は、何らかの欠陥または実行時エラーが発生したか、リソースの不適切な使用が原因でエラーが発生した可能性があります。コードまたは設計で、gradle を停止させている可能性があります (R )esource ファイルはリソースを適切にインデックス化できないため、それを認めなければなりません。

変更を行う前にプロジェクトが実行された場合は、行った変更をコメントアウトして、プロジェクトを再構築してみてください。

変更はありませんので、確実に機能します。

正確なエラーを追跡するには、変更を小さなモジュールに分割して変更を確認します。

例 - ボタンをクリックしてリストを表示し、アダプターにリスト値を挿入する場合、まずリストを表示できるかどうかを確認してから、アダプターのエラーを確認します。

于 2016-05-20T14:07:34.000 に答える
4

この表記はうまくいくようです。

android:id="@+id/viewID"

Android Studio のデザイン パネルがうまく機能していないようです。

于 2013-08-12T07:34:37.793 に答える
4

2 つのことを行う必要があります。最初にプロジェクトを消去します (ビルド メニューで)。

ビルド -> プロジェクトの消去

次に、プロジェクトを Gradle ファイルと同期します (ファイルの下):

ファイル -> プロジェクトを Gradle ファイルと同期

これは、Windows 10 での Android Studio 3.6.1 のアイテムの配置です。

他のすべてが失敗した場合は、通常、キャッシュを無効にして再起動します (ファイルの下)。これによりプログラム全体が終了し、私の意見では最も時間がかかります。

ファイル -> キャッシュを無効にする

于 2020-04-05T13:42:00.010 に答える
3

描画可能なリソースにいくつかの画像を追加しましたが、私の画像の 1 つに「super .jpg」という名前が付けられていました。これが原因であることが判明しました。

イメージの名前を変更し、その後プロジェクトをgradleファイルと同期すると、エラーが修正されました。

于 2015-02-26T13:20:02.070 に答える
3

私にとっての問題は、いくつかのバグがあると思われるバージョンの Gradle にアップグレードしたことでした。3.4.0-alpha02私が更新したもので、これが「シンボルRを解決できません」エラーの原因であることがわかりました。3.3.0-alpha10(つまり)に戻しclasspath 'com.android.tools.build:gradle:3.3.0-alpha10'、問題を解決しました。

遅かれ早かれアップグレードする必要があるため、これは明らかに長期的な解決策ではありませんが、2018 年 11 月 3 日の時点で3.4.0-alpha02最新バージョンであり、R 参照をクリックして IDE を飛び回ることができないため、開発が妨げられています。

于 2018-11-03T11:57:37.237 に答える
2

私はに大混乱を引き起こしていたandroid:textAllCaps = "false"androidmanifestR fileありました。私はそれを削除しましたが、すべて問題ありません。target sdk設定が不十分だったと思います。

于 2015-09-02T22:10:40.250 に答える
2

プロジェクトに AndroidManifest.xml があることを確認してください。

マニフェストがまだないプロジェクトをインポートしたため、Android Studio はそれを Android プロジェクトとして認識しませんでした。次に、GIT でプロジェクトを取得し、マニフェストをダウンロードしましたが、まだ機能していません。次に、Android Studioを再起動すると、「フレームワークがAndroidを検出しました」のようなメッセージが表示されました。

そのため、プロジェクトが Android プロジェクトとして構成されていることを確認してください。

于 2014-05-21T15:07:19.430 に答える
2

私にとってうまくいったのは:

  1. 新しいプロジェクトを作成しました。

  2. R が動作していることがわかりました。

  3. すべての構成を比較しました。
  4. gradle ファイルの違いを見つけました: compile 'com.android.support:appcompat-v7:23.4.0'

  5. 同期すると、再び機能しました!

于 2016-06-17T12:47:25.453 に答える
2

私の場合、Androidスタジオを更新する前にコードは正しく機能していました。アップデート後、 Rファイルが生成されませんでした。カスタムビューで作業していて、属性がありました

<attr name="showText" format="boolean" />

私のスタイル宣言で。この同じ属性は、システムの UI でも使用されていました。

<style name="Base.Widget.AppCompat.CompoundButton.Switch" parent="android:Widget.CompoundButton">
    <item name="track">@drawable/abc_switch_track_mtrl_alpha</item>
    <item name="android:thumb">@drawable/abc_switch_thumb_material</item>
    <item name="switchTextAppearance">@style/TextAppearance.AppCompat.Widget.Switch</item>
    <item name="android:background">?attr/selectableItemBackgroundBorderless</item>
    <item name="showText">false</item>// this line
</style>

以前のshowTextの名前をshowTextFormatに変更してから、R.java ファイルを再生成する gradle sync に変更しました。

于 2015-02-20T05:31:35.173 に答える
2

最初に、xml レイアウトにエラーがあるかどうかを確認し、その場合は最初に解決します。

それ以外の場合は、プロジェクトから junit の依存関係を削除し、プロジェクトを再構築します。ここに画像の説明を入力

于 2017-03-28T08:19:12.247 に答える
2

特にレイアウトメニュー リソース ファイルを誤って破損してしまった場合に、この問題が発生します。私がヒットしたシンボル R を解決できない@+idシナリオは、メニュー項目で ID を定義する必要がある場所に" " を追加するのを忘れたときです。

破損したメニュー リソース ファイルを使用してプロジェクトをビルドしようとすると、このエラーが発生します。そのRはリソースのコンテナクラスであるため、リソース、 .xmlファイルを解析できない場合、gradleはRをバインドできないようです。

解決策は、リソース ファイルを修正し、プロジェクトをクリーンアップして、再構築するだけです。

于 2016-06-14T01:29:25.667 に答える
2

Android Studio 0.2.13 を搭載した OS X では、アクティビティの 1 つで com.< プロジェクト >.R インポートで「宣言へのジャンプ」を実行しました。アクティビティ ファイルに戻ると、すべての警告が消えていました。

編集:これが機能する前に、現在のビルド バリアントをビルドする必要があります。

于 2013-10-14T23:28:33.137 に答える
1

これは、Android Studio で最近削除された xml が原因です。ビルド -> プロジェクトのクリーンアップを選択して、これらの xml からプロジェクトをクリーンアップします。

于 2015-02-25T13:41:29.817 に答える
1

私はやったしmake project、それは動作しますが、その前に、マニフェストでパッケージ名を確認し、プロジェクトを再構築してクリーンアップしてください。問題が解決しない場合は、プロジェクトを作成してください

于 2015-08-20T13:40:01.557 に答える
1

どうやら私の場合、最後に「*」を追加することで問題が解決したようです

import android.R.*;
于 2013-09-05T19:34:26.690 に答える
1

私の場合、レイアウト XML ファイルのいくつかのエラーを修正する必要がありました。ファイルにエラーが含まれていることを示すアイコンはありませんでした。ただし、それらをクリックすると、いくつかの赤い線が表示されます。それらを修正した後、R見つかりました。

于 2016-06-03T11:20:15.970 に答える
1

もう1つ試すこと...

  1. ビルドフォルダーを削除する
  2. gradle を同期してプロジェクトを再構築する

ここで他の多くの提案をすでに試しました。

  • プロジェクトのクリーニング、
  • Androidスタジオを再起動し、
  • 私のxmlのエラーを修正し、
  • プロジェクトを Gradle ファイルと同期する
  • ビルドツールのバージョンを更新し、

しかし、これらのどれも機能しませんでした。

最後に、(プロジェクトをバックアップした後) ビルド フォルダー全体を手動で削除し、Android Studio を再起動しました。その後、アプリの build.gradle ファイルでマイナーな編集 (スペースの追加と削除) を行い、[同期] をクリックしました。(おそらく、メニューから [ツール] > [Android] > [プロジェクトを Gradle ファイルと同期] を実行できたはずです。) その後、機能しました。ビルドフォルダーで何かが壊れていて、新しいビルドからやり直すと修正されました。

誰かが解決策のリストのこれを読んでいるかどうかはわかりませんが、とにかくこの回答を追加します.

于 2016-12-08T14:23:30.230 に答える
1

何をしても .xml ファイルにエラーがある場合、その問題を修正することはできません。私はそれを提案します

-まず、XML ファイルをチェックしてエラーを探し、

-次に、Androidスタジオがエラーをキャッチしたイベントログを探します。エラーが発生したファイルと場所がわかります。

それが私がRの問題を修正した方法です

于 2018-11-19T19:26:36.467 に答える
0

Xmlファイルを確認するだけです。エラーがある場合、このエラーを解決することはできません。xmlのエラーを解決してから試してください。

また

ビルドからプロジェクトを消去 -> 消去

于 2016-07-06T06:49:20.473 に答える
0

「Build->clean project」と「Sync project with gradle」を実行した後。どちらも未解決です。3.3.0 => 3.2.1 (プロジェクトの初期状態に戻す) から gradle バージョンをダウンビルドすると、問題が解決します。

于 2019-01-30T05:02:08.600 に答える
0

完全なパッケージ名が最初の行にあることを確認してください。LoginActivity.java という名前のファイルと、com.domainname.project というパッケージがあるとします。

LoginActivity.java の最初の行は次のようになります。

package com.domainname.project;

これは、dot.net で「namespace」を指定するのと同じです。また、パッケージが、*.java ファイルが含まれているパッケージと一致していることを確認してください。

于 2018-09-15T02:04:15.067 に答える
0

最初の解決策

Rebuild your gradle or invalidate/restart your system.

2 番目の解決策

delete .gradle and .idea folder from your android project. So you can solve "R" problem

また、レッドラインエラーが発生しても理由はありません。

于 2018-07-27T06:35:29.793 に答える