R.id.something
を参照しているすべてのクラスのすべてのインスタンスで、R
は赤で表示され、「シンボルRを解決できません」と表示されます。また、R.layout.something
があるたびに、それに赤の下線が引かれ、「メソッドsetContentView(?)を解決できません」と表示されます。プロジェクトは常にうまくいきます。ずっとこれを見るのはいらいらします。私は、Eclipseからプロジェクトをインポートするのに似ているが最も複雑なものについて、他にもたくさんの質問を読みました。私はAndroid Studioの最新バージョンであると私が信じているものを使用していて、プロジェクトはAndroid Studioで作成され、「Rを解決できません」という問題なく動作しました。誰もが知っているならば、私はこれが何を引き起こすかについて知りたいです。
私もこの問題を抱えていました。単純な 'gradlew clean'と 'gradlew build'がトリックを行いました。
Build-> Clean Project をクリックしてください。
私は同じような問題を抱えていて、これが私がしたことです:
プロジェクトをクリーンにし、プロジェクトを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に変更
私はgradle 3.3.0を使っていました。それが主な原因でした。私の人生から6.50時間を無駄にしました。 Gradle 3.2.1はエラーを取り除きました。
classpath 'com.Android.tools.build:gradle:3.2.1'
Gradleのバージョンを変更した後、問題は解決しました。詳細履歴は ここ で見つけることができます。
これです。
たとえば、私のstrings.xml
にエントリがありました。
<string name="A">Some text</string>
そしてactivity_main.xml
では、この文字列エントリを使いました
<TextView
Android:id="@+id/textViewA"
Android:text="@string/A"/>
プロジェクトで作業していた間、私はそれを削除しました
<string name="A">Some text</string>
そしてその結果activity_main.xml
は無効になりました。結果として:R.は解決できません.
それで、あなたの*.xml
ファイルときれいなプロジェクトをチェックしてください。
Javaファイルまたはディレクトリを 他の場所に移動した後にこのエラーが表示される場合は、Android Studioが混乱していることを保証できます。そして何を思う?これらの操作を元に戻しても問題は解決しません。
だからあなたはきれいにしようとするが、それはうまくいきません。
そして再起動もうまくいきません。
しかし、 ファイル - >キャッシュを無効にする/再起動... - >無効にして再起動 を試してください - /
Android Studioは、どのファイルが他のどのファイルに依存しているかについての情報を保持しています。また、ファイルの移動は正しく実装されていないため、ファイルを移動するとエラーが発生します。それだけではありません。ビルドを高速化するために、これらの依存関係のキャッシュが使用されています。
つまり、再起動する必要があるだけでなく、これらのキャッシュを無効にして(またはより正確には再構築して)健全性を回復する必要があります。
この問題には多くの原因があるようです。最近、私はNewActivityという名前でテストするアクティビティを追加しました。これはres/menu/new.xml
と呼ばれるファイルを作成し、newは予約語なのでgradleはその名前を好みませんでした。
gradlew clean
または
"Tools" -> "Android" -> "Sync Project with Gradle Files"
これらは確かに試してみると良いことですが、これらのコマンドを実行する前に解決する必要がある他の問題がいくつかあるかもしれません。
アクティビティファイルをデフォルト以外のフォルダに配置したとします。 Rを使用してcom.example.yourproject.R(これはプロジェクトのRファイルではありません)をすべてのアクティビティにインポートする必要があります。たとえば、MainActivityファイルに次の行を挿入します。
import com.example.yourproject.R;
あなたのコードはただスクランブルされています。答えはかなり簡単です。
Just go to **Build** --> **Clean Project**.
これでうまくいくはずです。
現在使っている Android Studio 3.0.1 。
最近SDKツールを更新しましたか。 Android SDKマネージャーを起動して、最新のSDKツールがあることを確認します。これはプラットフォームツールとは別のものです。 SDKマネージャを最初に更新したときにも同じ問題がありました。SDK build toolsパッケージは、SDKマネージャを閉じて再び開くまでインストール/更新用に表示されませんでした。
ブラザー、R.Javaファイルには、xmlとJavaページ間のリンクが含まれています。 「Rを解決できません」は、リソースファイルに問題がある場合にのみ発生します。そのため、最善かつ効果的な方法は、resファイル内の最後に行われたxmlまたはdrawableを削除することです。その後、Androidのコーディング規約に従って、そこからもう一度始めます。これが唯一の方法です。効果的で正しい方法
Gitを使ってコードを正しく追跡することもできます。 ..
幸せなコーディング.. :)
プロジェクトをクリーンアップし、プロジェクトをGradleファイルと同期するだけです。
そして問題は解決されるでしょう。
私は最近この問題を抱えていて、clean/buildなどで解決しませんでした。私はどこかに問題があると思いましたが、それを見つけるためにどこを探すべきか確信が持てませんでした(それはマニフェスト、リソースXMLファイルなどにありましたか?).
何か問題があるときは、コード分析を実行して、それが何であるかを調べることができます。
上部のメニューから次のように選択します。
分析 - >コードの検査、 'デフォルト'プロファイルを使ってプロジェクト全体のスキャンを行います。
検査結果には「Android」という要素が含まれます。ここでは、リソースとマニフェストファイルで問題を引き起こしているものすべてのリストを取得します。エラーはあなたのビルドから生成されたxmlファイルを開くでしょう。
私の正確な問題は、フレーバーベースのマニフェストファイルを使用していて、偶然にフレーバーの<application>
タグ内に権限をコピーしたために発生しました。
アップデート: 修正後もAndroid Studioでエラーが表示された後で問題が発生しましたが、エラーが解決しないうちにビルドおよび実行できるようになりました。 (私はカナリア造りの建物を運営しているので、今のところそれをそれに入れています)
私はこれを持っています
自分のアプリのドメインフォルダを手動で名前変更したときに、この問題に直面しました。この問題を解決するために、私はしなければなりませんでした
<manifest>
のAndroidManifest.xml
の適切なpackage
フォルダー構造を設定します。Android:name
の<activity>
のAndroidManifest.xml
の新しいパッケージの場所を設定します。ファイルメニュー - >キャッシュの無効化/再起動...
Android Studioが再起動して新しいインデックスが作成されると、問題は解決します。
私は自分のR
パッケージをAndroidスタジオにインポートしなければなりませんでした。例:import com.example.<package name>.R
Do> Build> Clean Project
重要:メッセージペインでプロジェクトをクリーンアップした後にエラーがないことを確認してください(Alt + 0)。感嘆符付きの赤い丸が見つかった場合は、コード内のそれらのエラーを削除する必要があります。
主にこれらのエラーは@ string /または@ array /に関連しています。プロジェクトをもう一度クリーンアップして完了です。
私はこれを自分で直すのに苦労しました。
それは私のために働いた、それもあなたのために働くことを願っています。
私は同じ問題を抱えていた、そしてそれは私が新しいプロジェクトを作成するときに起こる。
私がしているのは:
それは私のために働きます。
ビルド>クリーンプロジェクト
これは私のために働きました。同じ問題が数回あった、そしてこれはそれを正しく設定するように思われる。あなたが何かを変更したり変数Rを呼び出したりしていない限り、この問題は私には起こり得るところで、通常どこにも起こらないので、私はそのちょうどAndroidのスタジオがおかしくなっていると思います。はは
あなたのプロジェクトで良いものを、そして頑張ってください。
私はこの問題について特別な場合があります。
私のプロジェクトでは、あらゆることはうまくいって、うまくコンパイルおよびビルドできますが、私のAndroid Studio IDE(およびIntelligent IDEAも試しましたが、それらは同じ状況にあります)では、R.Javaファイルをうまく解決できず、常に赤い線をドロップします。
これは私をほとんど頭がおかしくなりました、私がプログラムしているとき、私は読み色を負担することができません。
ついに私はこの難しい問題が私のR.Javaのファイルサイズが原因であることに気付きました。私のプロジェクトは非常に巨大なものです、それは多くの多言語とマルチスクリーンサイズをサポートします。私のR.Javaのファイルサイズは約 2.5M です。
Android Studioのファイルの最大サイズは、デフォルト設定で2.5Mです。そのため、この制限を超えるファイルはうまく解決できません。また、「AndroidStudio-root/bin/idea.properties」でデフォルト設定を変更できます。
この行を変更してください。
idea.max.intellisense.filesize=2500
に:
idea.max.intellisense.filesize=5000
それからアンドロイドスタジオを再起動してください、赤い色は消えました、私は再び幸せにプログラムすることができます。
これは非常に古い質問ですが、それでも多くのことが起こり、ここでは真に包括的な答えはありません。
私が認めようと思っているよりも何度もこの問題を抱えています。それは、ほとんどすべてがあなたのプロジェクト構造に関係していて、期待されているものと一致していない多種多様な問題によって引き起こされる可能性があります。これが私が抱えていたすべての問題のリストです:
特に古いバージョンのAndroid Studioでは、EclipseからAndroid Studioへのインポートは必ずしもスムーズに機能しません。正しいディレクトリツリーを使用していることを確認してください。適度に成熟したアプリでは、このようになります。
AppName/ // AppName is your app's name, obviously
.gradle/ // This is a compiler created directory. You should normally leave it alone
.idea/ // Ditto
build/ // This too
gradle/ // And this
app/
build/
libs/
src/
androidTest/ // Tests based on the Android instrumentation runner should go here
main/
Java/
fully/ // Typically com
qualified/ // the domain name. Longer package
// names may have deeper folder trees
AppName/ // All your Java files go here
res/
drawable-*/ // One of these for each resolution you support
layout/ // All of your general layouts
menu/ // All of your menu layouts
values/ // All of your resource xml files
xml/ // PreferenceScreen layouts go here
AndroidManifest.xml
debug/
test/ // Pure jUnit tests should go here
.gitignore
app.iml
build.gradle // This is the gradle file you should be making most changes to
proguard-rules.pro
.gitignore
build.gradle // This gradle file should mostly be left alone
gradle.properties
gradlew
local.properties
AppName.iml
settings.gradle
IDEではこのように見えないかもしれません。ファイルツリーの上にはさまざまな方法でファイルを表示するためのドロップダウンがあり、私のシステムではデフォルトでAndroidと呼ばれるものになり、ファイルがさまざまな種類に分類されます。 Android Studioでは、別のフォルダのみを含むフォルダが1行にまとめられるため、Projectと呼ばれるものからこの種の問題を解決する方が簡単です。また、OSのファイルシステムから直接簡単に解決できます。
特にアプリの名前を変更した場合は、必ずソースツリーmain/Java/com/domain/AppNameが更新されていることを確認する必要があります。また、AndroidManifest.xmlのpackageタグが正しいことを確認してください。
GradleファイルまたはAndroidManifest.xmlにエラーがあると、Android Studioがリソースファイルを正しく構築できなくなります。 Gradleファイルは、特に1.0より前のバージョンから、時々Android Studioをアップグレードすることによって壊れることがあります。時々これはGradleプラグインの古いバージョンをサポートするのをやめるので、あなたはあなたのバージョン番号を更新する必要があります。現在のバージョンが何であるかを見つけるのが難しい場合があります。今日の7/17/15現在、私のアプリはcom.Android.tools.build:gradle:1.2.3
でうまくコンパイルされています。これは一番外側のgradleファイルのdependenciesブロックにあります。
あなたのAndroidManifestが存在しないドロウアブルまたは文字列リソースまたはアクティビティを参照するならば、それは壊れて、このエラーを引き起こします。存在しないドロウアブルまたは文字列リソースを参照しているものがあると、このエラーが発生することがあります。
リソースに破損したファイル、または無効なxmlファイルがある場合は、このエラーが発生します。
私の経験では、時々Android Studioは単に理由もなくしゃっくりします、そしてあなたはそれを再起動する必要がありますおよび/またはあなたのPC。理由はわかりませんが、うまくいく場合もあります。
同じ名前の2つのxmlリソースが、互いにオーバーライドしないディレクトリにある場合、この問題が発生する可能性があります。たとえば、drawable-mhdpiとdrawable-xhdpiは、ターゲットデバイスによっては互いにオーバーライドされるため、同じ名前を使用できますが、レイアウトとメニューで同じ名前を使用すると問題が発生します。いずれかのファイルの名前を変更するか削除してください。
一部のリソースだけがこの問題を抱えている場合、それらのリソースは間違ったディレクトリにある可能性が最も高いです。
ある場合には、私はAndroid Studioを完全に再インストールしなければなりませんでした。何が問題なのかわかりませんが、うまくいきました。
あるケースでは、プロジェクト全体を別のディレクトリに移動し、それを新しいプロジェクトとして再度インポートしました。何が問題なのかわかりませんが、うまくいきました。
名前に予約語を含むXMLファイルは、この問題を引き起こす可能性があります。名前を変更するか削除してください。
Gradleファイルが、インストールしていないビルドツールのバージョンを参照することになる可能性があるいくつかの方法があります。 Gradleを変更するか、適切なビルドツールをダウンロードしてこれを修正してください。
最後に、問題点を修正したら、Gradleプロジェクトをクリーンアップする必要があります。これを行うには、上部の「ビルド」メニューに移動して「プロジェクトをクリーン」を選択します。
この表記はうまくいくようです。
Android:id="@+id/viewID"
Android Studioのデザインパネルがうまく機能していないようです。
同じ問題です。描画可能なフォルダに画像をいくつか追加してアクセスしようとしたときに開始しました。追加された画像も大文字の拡張子を持っていました。私がそれらを改名したとしても、メッセージは同じで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は魔法のように再登場しました。
私は同じ問題を抱えていて、ほとんどの場合それはによって解決されます
しかし、今回はこれらのことをすべて行った後でもエラーが持続し、ついに私は犯人を発見しました。
問題は xmlファイル にありました。そこでは、私は idリソースタイプ の代わりにAndroid:id
に通常の文字列値を与えました。
_間違い_
Android:id="username"
_補正_
Android:id="@id/username"
Xmlファイル内の
resources
に関連するものを台無しにすることが、このエラーの主な理由です。xmlレイアウトファイルではエラーとして表示されない場合があることに注意してください。
注意
ほとんどの場合、コンパイラはメッセージにエラーの原因を表示します。他の解決策を試す前に、まずそれをチェックしてください。
`私は同じ問題を抱えていて、それによって解決されました:
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.`
これは私にとって大きな頭痛の種でした。私の場合、エラーはAndroid Studioで「Google Play Services」を設定した後に表示されます(+ build.gradle configのインストール)。これは順番にminsdk> 7を必要としますが、エラーはそれについては非常に不明瞭です(実際にこれに関する苦情は「情報」として現れるだけです)。とにかく、マニフェストファイルとbuild.gradleファイルの両方でminsdkを8に変更してプロジェクトを再構築すると、エラーがなくなりました。
一般的に言えば、これに関する一般的なアドバイスです。マニフェストファイルやその他の設定ファイルに問題がある可能性があります。それが何であるかについてのどんなヒントについても "info"と題されたメッセージさえ、エラーレポートを本当に一生懸命見てみてください...
男、私はここで暗闇の中でたくさんのショットがあると思います。場合によっては、プロジェクトのクリーンアップと同期は、問題を解決した後でしか役に立ちません。
Step1: パッケージが次のように指定されている各ファイルの先頭を見てpakage="YourURL.YourProject";
、正しいパッケージ(Your Own Project)が指定されていることを確認します。 これはJava filesおよびAndroidManifest.xmlにあります。そのパッケージにはリソースが含まれているため、Javaファイルが正しいパッケージを参照することが重要です( " R ")あなたが指している一致しないエラーシンボルRを解決できませんが発生します。
Step2: クリーン、同期、何でも。完了
では、なぜこれがランダムに発生するのでしょうか。
あなたがコピーして貼り付けコードを書いているなら、上で説明したように "package ="に細心の注意を払うべきです。さらに重要なことは、コードを貼り付けると、すぐに一種のデバッガ(言い訳の悪い技術用語)が表示され、「推定エラー」が表示されます。 したがって、貼り付けた後にすぐに表記を修正しても、デバッガはすでに更新されています。これが"Clean、Sync、Whatever"が機能する理由ですときには
このエラーには多くの原因があります。
<Button/>
と言いますが、それはまだ任意のActivityまたはFragment .Javaで宣言されています。エラーを追跡する最良の方法は、それをきれいに再構築するか、意図的なエラーを行って同期することです。
それでも問題が解決しない場合は、欠陥や実行時エラーが発生したか、コード内のJavaまたはxmlファイルの両方でリソースが不適切に使用されたためにエラーが発生する)esource fileはあなたのリソースを適切にインデックスすることができず、あなたはそれを認めなければなりません。
変更を加える前にプロジェクトが実行された場合は、行った変更をコメントアウトしてプロジェクトの再構築を試みます。
変更はないので、それはきっとうまくいくでしょう。
正確なエラーを追跡するには、変更を小さなモジュールに分割して変更を確認してください。
たとえば、ボタンをクリックしてリストを表示し、アダプタにリスト値を挿入する場合は、最初に表示できるかどうかを確認してから、アダプタのエラーを確認します。
クリーニング、再構築、そして「キャッシュの削除」は私には役に立ちません。
私にとっては、いくつかのバグがあるように思われるGradleのバージョンにアップグレードしたことが問題でした。 3.4.0-alpha02
は私が更新したもので、これが "Cannot resolve symbol R"エラーの原因であることがわかりました。私は3.3.0-alpha10
(つまりclasspath 'com.Android.tools.build:gradle:3.3.0-alpha10'
)に戻り、問題を解決しました。
私は遅かれ早かれアップグレードする必要があるので、これは明らかに長期的な解決策ではありませんが、2018年11月3日の時点で3.4.0-alpha02
が最新バージョンであり、IDEを回避しないで開発を妨げますRの参照をクリックして_。
私がプロジェクトのライブラリの多くを更新したとき、これはかなり最近私に起こりました。 R
は見つかりませんでしたが、プロジェクトを構築して実行することはできました。クラッシュしませんでした。 IDEはあちこちに赤く表示されているだけです。
やってみました
compileSdkVersion
とtargetSdkVersion
を下げました。過去には、これが原因でリソースの問題が発生したためです。しかし、このプロジェクトではそうではありませんでした。idea.max.intellisense.filesize
を非常に高い値に調整しましたが、役に立ちませんでした結局、私のGradleビルドツール(3.3.1から3.2.1へ)をダウングレードすることで問題が解決したことがわかりました。それが私がしなければならなかった唯一の変更でした。残りは、更新しました。現在、私のすべてのライブラリは問題なく更新されています。
buildscript {
repositories {
google()
jcenter()
}
dependencies {
//classpath 'com.Android.tools.build:gradle:3.3.1'
classpath 'com.Android.tools.build:gradle:3.2.1'
classpath 'com.google.gms:google-services:4.2.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
ルートパッケージからRシンボルをインポートするだけです。
import rootpackage.R;
再構築、同期、その他のことはありません.
毎回私に効くのは:
- >あなたのプロジェクトのbuild.gradle (Module: app)
ファイルに行きます - >ちょっとした変更をします(例えば:どこかに<space>
を入れて元に戻します) - >それからAndroid studioはあなたのgradleファイルをsync
するように頼みますファイルの隅 - > select "sync now"
。
同期が完了すると、ほとんどの場合問題が解決します。
私の場合は、Android Studioバージョン0.8.9と同じエラー(シンボルRを解決できません)をした後に、File-> Project structureに移動し、JDKの場所を手動でインストールしたOracle JDKに変更しました。だから私の場合は/ usr/lib/jvm/Java-7-Oracleではなくlinuxで、これがプリセットされていた。 /home/phvz/App/jdk1.8.0_20に変更して設定を保存したところ、Rシンボルの問題はすぐに修正されました
私にとってうまくいったのは、
新しいプロジェクトを作成しました。
Rが目覚めていることがわかりました!
Gradleファイルにその違いが見つかりました。
同期して、それはまたうまくいった!
私が誤って layout または menuリソースファイル を壊したときに、私は特にこの問題を抱えています。私が を打ったというシナリオは、シンボルR を解決できないのですが、 "@+id
"を追加するのを忘れたときに、メニュー項目でIDを定義します。
破損したメニューリソースファイルを使用してプロジェクトをビルドしようとすると、このエラーが発生します。 _ r _ はリソースのコンテナクラスなので、 gradle はバインドできません _ r _ はリソースを解析できないとき、 .xml files。
解決策は、単にリソースファイルを修正し、プロジェクトをクリーンアップしてから再構築することです。
私の場合、アプリケーションドメイン名の後に「.R」を付けてインポートすると問題が解決しました。例:
import com.example.myapp.R;
プロジェクトにAndroidManifest.xmlがあることを確認してください。
マニフェストをまだ持っていないプロジェクトをインポートしたため、Android StudioがそれをAndroidプロジェクトとして認識しないことがありました。それから私はGITでプロジェクトを引っ張りました、そしてそれはマニフェストをダウンロードしました、しかしまだ働いていません。 それから私はAndroid Studioを再起動し、それは "FrameworkがAndroidを検出しました"のような何かを言った。
だからあなたのプロジェクトはAndroidプロジェクトとして設定されていることを確認してください。
Android Studio 0.2.13を使用したOS Xでは、私の活動の1つでcom。<project> .Rインポートで "宣言へジャンプ"をしました。活動ファイルに戻ると、すべての警告は消えていました。
編集:これがうまくいく前に、あなたは現在のビルドバリアントをビルドする必要があります。
描画可能なリソースにいくつかの画像を追加しましたが、そのうちの1つの画像に " super 。jpg"という名前が付けられました。
Imageとafterの名前を変更してプロジェクトとgradleファイルを同期させるとエラーが修正されました。
私の場合は、Android Studioをアップデートする前にコードが正しく機能していました。更新後 _ 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ファイルを再生成した同期同期を使用します。
これらのどれもUbuntu 12.04で私のために働きませんでした。私は次のことをしなければなりませんでした:
Sudo apt-get install lib32stdc++6
Sudo apt-get install lib32z1
その後、私はこのスレッドで他のいくつかのアドバイスに従って、Build - > Clean Projectを実行しました。
私の場合:res/someLayout.xmlファイルにエラーがあるので、それを解決します。 そして、プロジェクトをクリアしてください。エラーがなくなりました。
私は androidmanifest にAndroid:textAllCaps = "false"
があり、R file
に大混乱を引き起こしています。削除しましたが、すべて問題ありません。 target sdk
は十分に高く設定されていなかったと思います。
Analyticsを実装するためにgoogle-services.jsonファイルをインポートしたときに、この問題に直面しました。 xmlフォルダにはglobal_tracker.xmlファイルが既にあります。ビルド中に、google-services.jsonファイルの内容をマージしている間に、エラーが発生し始めました。
goolgle-services.json
ファイルを削除した後、エラーが解決しました。
上記の答えのどれも私を助けませんでした。私はついにその問題が "build"フォルダがAndroid Studioにないことであることに気づきました。プロジェクトの "iml"ファイルに "build/*"以外の行がいくつか見つかりました。それらを削除した後、ビルドファイルが現れエラーは消えました。
非基本機能のインスタントアプリケーションアクティビティでは、R.id.fromFeatureOne
およびR.is.fromFeatureTwo
を呼び出すことができます。そのため、 異なるリソースからの項目は、単一のリソースOrigin として参照されます。
どちらも許容できるものとして強調表示され、ソースにジャンプすることもできます。しかし、buildはエラーになります: " シンボルR.id を見つけることができません"何もハイライトされていないので、これは理由を見つけるのがかなり難しいです。
解決策はcom.example.feature.one.R.is.fromFeatureOne
とcom.example.feature.two.R.is.fromFeatureTwo
を呼び出すことです。
またグーグルでバグを出した: https://issuetracker.google.com/u/0/issues/77537714
どうやら私の場合、問題は最後に "*" を追加することで解決した
import Android.R.*;
Gradleプラグインをバージョン1.3.1
からにアップグレードした後にこのエラーが発生しました
classpath group: 'com.Android.tools.build', name: 'gradle', version: '2.2.1'
すべての参照を次のように変更せざるを得ませんでした
import [applicationId].R;
に
import [package].R;
そして、私のライブラリプロジェクトでは、appcontext.getPackageName();
が正しく動作しなくなりました。リフレクションを介して正しいアプリリソースを取得するために使用しましたが、gradleプラグインをアップグレードした後、パッケージの代わりにフレーバー固有のapplicationIdを返し始めました...詳細についてはこちらをご覧ください here 。
私は上記のすべてに従ったが、うまくいきませんでした。私の場合は、Android-Lプレビュー用にすべてのJava関数を赤で表示したときにJDKを設定する必要がありました。
Macの場合
それからすべては私のために正常に戻った。
私はmake project
をしました、そしてそれは働きますしかしその前にあなたのマニフェストのパッケージ名をチェックして、あなたのプロジェクトを再構築してきれいにすることを試みなさい。問題が解決しない場合は、プロジェクトを作成してください。
もう1つ試すこと...
私はすでにここで他の提案の多くを試してみました。
しかし、どれもうまくいきませんでした。
プロジェクトをバックアップした後で、ついにビルドフォルダー全体を手動で削除し、Android Studioを再起動しました。その後、私は自分のアプリのbuild.gradleファイルをマイナー編集(スペースの追加と削除)してからsyncをクリックしました。 (メニューから[ツール]> [Android]> [プロジェクトとGradleファイルとの同期]を実行しただけかもしれません。)その後、うまくいきました。ビルドフォルダ内で何かが壊れてしまい、新しいビルドからやり直すと修正されました。
誰かがこれを解決策のリストの下に読んでいるかどうかはわかりませんが、とにかくこの答えを追加します。
上記の答えのどれも私の問題を解決しませんでした。だから私は誰かが同様の問題に遭遇した場合に備えて私の解決策を追加しました。私のbuild.gradle依存関係では、
compile 'com.Android.support:appcompat-v7:22+'
私のcompilesdkのバージョンは compileSdkVersion 21
だったので、Android Studioは不満でした。私は単にcompilesdkversionを23に更新して同期しました。
また、依存関係を次のように更新しました。
compile 'com.Android.support:appcompat-v7:23.1.1'
[ツール] - > [Android] - > [SDK Manager] - > [SDK Tools]タブ - > [Android Support Library] - > [version]でサポートライブラリを一致させることができます。ハッピーコーディング:)
[ビルド] - > [プロジェクトのクリーンアップ]または[]またはファイル - >キャッシュの無効化/再起動... - >無効化と再起動
注:これはあなたのプロジェクトが非常に大きい場合にのみ役に立つかもしれません
TL; DR - 生成されたRファイルは2.56 MBを超え、Android Studioはそれを索引付けしていませんでした。そのための解決策は次のとおりです。
ファイルサイズが設定された制限(2560000)を超えている、コードインサイト機能が利用できない
同様の問題に直面していました。しかし、ここでの答えはどれもトリックをしていないようでした。
Rファイルが2.56 MBを超えていました。生成されたRファイルを開くと、「コードインサイトは利用できない可能性があります」というメッセージが表示されました。
より大きなファイルを可能にするためにidea.properties内のデフォルトを変更することがトリックでした。
モバイルでの書式設定のお詫び.
これは最近削除されたxmlsが原因です。 Android Studioの場合 build - > clean projectを選択して、これらのxmlからプロジェクトを削除します
私もこの問題を抱えており、このようにして解決しました。
Androidスタジオからクリーンアップしないようにしてください
XMLファイルをMENUフォルダではなくLAYOUTフォルダに入れました。
これはEclipseからAndroid Studioに移行した結果です。
私にとっての解決策は簡単でした...私のXMLファイルをMENUフォルダに移動して再コンパイルしてください。
新しいAndroidのスタジオで2.2。 TargetSDK = 15未満の場合、この問題も発生する可能性があります。 gradle.buildでこれを変更してから、前の回答に従って手順に従ってください。 gradleファイルを同期して再構築します。キャッシュを無効にしてスタジオを再起動することもできます。
私の場合は、レイアウトXMLファイルのエラーをいくつか修正する必要がありました。ファイルにエラーがあることを示すアイコンはありませんでした。しかし、それらをクリックすると、いくつかの赤い線が見えます。それらを修正した後、R
が見つかりました。
何をしても.xmlファイルにエラーがある場合は、その問題を解決することはできません。私はそれをお勧めします
まず、XMLファイルをチェックしてエラーを探します。
- 2番目にAndroid Studioがエラーを検出したイベントログを検索し、それがどのファイルとどこにエラーがあるのかを表示します。
それで私は私のRの問題を修正したのです
私は現在同様の問題を抱えていました。問題は私のプロジェクトでもっとモジュールがあるということでした。例えば。 app
モジュールとlibrary
モジュール。クラスとR.string
リソースは両方ともapp
モジュールからのものですが、私はどういうわけかそこにimport com.package.library.R
を入れました。どういうわけかAndroid Studioはこれをエラーとして認識せず、Gradle/Syncは問題なく私のプロジェクトをビルドしました。しかし、私が単体テストを実行しようとしたときにGradleのビルドが説明されたエラーで失敗しました。
package com.package.app
import com.package.library.R;
//...
class SomeClass {
//...
public void someMethod() {
Toast.make(context, R.string.message, TOAST_LONG).show();
}
}
R.string.messsage
リソースが実際にはcom.packagename.app
モジュール内にあり、com.packagename.library
モジュール内にない場合。 import ...
を削除すると私の問題は解決しました。
完全なパッケージ名が最初の行にあるようにしてください。 LoginActivity.Javaという名前のファイルとcom.domainname.projectという名前のパッケージがあるとします。
LoginActivity.Javaの最初の行は次のようになります。
package com.domainname.project;
これはdot.netで "namespace"を指定するのと同じです。また、パッケージが* .Javaファイルが含まれているパッケージと一致していることを確認してください。
この問題は、「res」または「drawable」フォルダ内のファイルの命名が原因で発生します。リソースファイルの命名に大文字を使用することはできません。そのため、そのようなファイルがあるかどうかを確認し、小文字で名前を変更してください。
そして、これも試してみることができます。 ファイル > キャッシュを無効にする/ restart
これらのオプションは私のために働きました。
あなたは自分のlayout files
の一つdelete
を使うことができます(どちらを問わない)、その後build project
をする必要があります。プロジェクトがビルドされ、その後レイアウトファイルを返却する必要があります。 CTRL + Z。私の場合、layout file
を削除する前に自分のプロジェクトをビルドしようとしても、役に立ちませんでした。しかし、これでいいのです。
「シンボルrを解決できません」というエラーを修正するには。これらの解決策を試してください。
ビルド - >プロジェクトのクリーン。
ビルド - >プロジェクトのビルド.
例えば: "classpath 'com.Android.tools.build:gradle:X.X.X'"。
私はこれらの解決策があなたを助けることができると思います。
読んでくれてありがとう。
あなただけのあなたのXmlファイルをチェックする必要があります。 エラーがある場合は、このエラーを解決することはできません。
OR
プロジェクトをビルドからクリーンアップ - >クリーン
最初の解決策
Rebuild your gradle or invalidate/restart your system.
第二の解決策
delete .gradle and .idea folder from your Android project. So you can solve "R" problem
そしてまた、あなたが得る何らかの理由もなく発生する朱書きエラーを削除します。
私はこの問題が多くのことを引き起こすかもしれないのを見ます。私の場合は、アクティビティ* .xmlファイルの1つにtextViewがありました。私はそのテキストをエディタの中に(コードで後で変更するために)このように入れます:"NAME: <here will be name>"
。どうやら、 "<"と ">"の文字が私のプロジェクトのどこからでもRのインポートを中断したようです。私はそれを変えました、そしてそれは働き始めました。 * .xmlファイルでこれらの文字を使用できないことを忘れています。それらはその構造を構築しているからです。これを頭に入れておく価値があります。
"Build-> clean project"と "sync project with sydle"をした後。どちらも解決されていません。 gradleのバージョンを3.3.0 => 3.2.1(プロジェクトの初期状態に戻す)からダウンビルドして問題を解決しました.
何も私にはうまくいきませんでした、それから私はそれが機能するように私のAndroidスタジオを更新する必要があります。 Android Studioを最新バージョンにアップデートした後、問題は解決しました。
私はmulti-module
プロジェクトに取り組んでいます。そして、これは私がすべてのuiコードを新しいモジュールに移動したときに起こりました。
これが問題の解決方法です。 新しいui module
を作成すると、それが/res/values
の中に新しいstrings.xml
を作成することになり、役に立ちません。 私はそのstrings.xml
ファイル、rebuild
プロジェクトを削除し、そしてそれは動作します。
私の場合、私はプロジェクトをclean
とrebuild
にしようとしていました。レイアウトファイルにエラーがあるため、問題は修正されませんでした。再現するために、私はアプリ名前空間の属性にタイプミスを加えました。
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:Android="http://schemas.Android.com/apk/res/Android" xmlns:app="http://schemas.Android.com/apk/res-auto">
<item
Android:id="@+id/add_user"
Android:icon="@Android:drawable/ic_menu_add"
Android:title="Add User"
app:showAsActioin="always"
/>
</menu>
Android Studioはapp
名前空間の属性を検査していませんでした。ファイルにエラーはないようです。今プロジェクトを構築しながら、それはCannot resolve symbol 'R'
を言います。エラーはビルドログに表示されます。
タイプミスを修正することで修正されます、 Androidの問題を監視 ビルドログのセクション。
私にとっては、最初からAndroid Studioで学習に支障があると言うことが重要ですが、ここでClean Projectが解決できる解決策があるように、いつもパック名をチェックして、ロジックに関する混乱を試みないでください。しかし、時には私はそのやり方が正しいかどうかを考えようとします。私もLinuxが好きですが、私のAndroid Studioではすべてのソフトウェアを書き直す必要があるかもしれません。とにかく頑張ってください!!!!
プロジェクトのgradle(すなわち)build.gradleで、com.Android.tools.build:gradleを のように更新するだけです。
依存関係{
クラスパス 'com.Android.tools.build:gradle:3.2.1'
}
Gradleコンソールを見てください。私の場合は、間違ったファイル拡張子のリソースを含めていました。
AAPT: libpng error: Not a PNG file
:app:mergeDebugResources FAILED
FAILURE: Build failed with an exception.
ファイル名とSync Project with Gradle Files
の名前を変更した後、すべてうまくいった。
私は同じ問題を抱えていました: Android Studio 3.2 プロジェクトはコンパイルされて正常に動作しますが、画面に「シンボルを解決できません」という警告が表示されます。
しない help:
に役立ちます:
どちらか
build.gradleで
dependencies {
classpath 'com.Android.tools.build:gradle:3.3.0'
...
}
と置換する
dependencies {
classpath 'com.Android.tools.build:gradle:3.2.1'
...
}
または
Android Studioを 3.3 に更新します
ほとんどの場合、この問題はXMLファイルが原因で発生します。XMLファイルを見て、エラーを探します。
私は究極の解決策があると思います。私は調査を行い、Android Studioがインストールパスまたはディレクトリに「White Spaces」を嫌っていることを発見しました。空白を含むディレクトリに配置されたSDKは受け入れられません。例えば
C:\ Program Files(x86)\ Android\sdk
空白が含まれているため、このディレクトリは無効です。 ここ /私は、彼のSDKディレクトリに空白があるために、男がAndroid Studioで彼のJDKパスを変更することができなかった質問にすでに答えました。これは奇妙なことですが、Android Studioは空白を含むディレクトリを嫌っているようです。だから解決策は -
Android StudioとAndroid SDKを、空白やスペースがないディレクトリまたはパスにインストールします。
たとえば、Android Studioを次の場所にインストールします。
C:\AndroidStudio\
そしてAndroid SDKをにインストールします。
C:\Sdk\
空白がないので、この両方のディレクトリは有効です。空白を含まないすべてのパスが有効です。また、「解決に失敗しました:junit:junit:4.12」や「Gradle sync project failed」などの他の問題も解決します。
//同期が不完全なためにいつか問題が発生する
//手順に従うだけで、確実に作業が完了します。
Click on Build->Clean Project and that will perform a gradle clean
2つの場所に同じimage.pngファイルがあるため、未解決のR問題がありました。 res> animの1つとres> drawable-hdpiの同じファイル。これにより、Rは未解決になりました。 スプラッシュスクリーンイメージを作り、それをMorayグラフィックスディレクトリから直接Androidプロジェクトに繰り返し移動することで問題を発生させました。偶然res> animフォルダに落としたに違いありません。 res> animフォルダから重複した画像ファイルを削除することで問題を解決し、Android Studioは自分自身を修正しました。
私の場合、その理由はresフォルダにいくつかの画像に名前が含まれていたからです。
小文字で名前を変更して再構築するだけです。
それは単純な "プロジェクトとGradleとの同期"です。
私は同じ問題を抱えていました。私は他の人が上述したもののほとんどを試してみた、すなわちGradle同期、キャッシュの検証、プロジェクトの再起動、プロジェクトのクリーンアップ、そして再構築... Android Studioを再起動しても同じ問題があった...
ここで私にとっての問題は、私は他の人が同じ問題を抱えているかもしれないと思っています。新しく作成したレイアウトファイルの名前にスペースがありました... file_example.xmlの代わりに_ mineがfile _example.xml **(ファイルと_の間のスペースに注意)* *このレイアウトファイルへの参照を見つけようとすると、エラーが発生します。
作成したばかりの最新のレイアウトファイルを見て、名前を少し修正してからactivity/fragment - > のR.layoutから新しいファイルへを変更します。clean..rebuildプロジェクトの場合、プロジェクトはエラーなしでコンパイルされます。少なくとも私の場合は、これが私の問題の解決策でした。
私はエラー 'Unable to resolve symbol R
' に直面しています。私はそれを解決しました。
以下のIDE機能を考慮に入れてください。
build.gradle
の依存関係または all /res
ディレクトリのリソースファイルに、エラー行がないことを確認します。一般的なエラーには、使用時に属性値が参照なしで残されている場合があります。 Cannot resolve symbol 'R'
このようにして、IDE警告ダイアログが表示され、Rクラスのインポートが実行されます。
GL