wake-up-neo.com

"Symbol R kann in Android Studio nicht aufgelöst werden"

In allen Fällen, in denen ich auf R.id.something verweise, ist die R rot und es heißt "Symbol R kann nicht aufgelöst werden". Jedes Mal, wenn es R.layout.something gibt, ist er rot unterstrichen und sagt "Methode setContentView (?) Kann nicht aufgelöst werden". Das Projekt baut immer gut. Es ist nervig, das ständig zu sehen. Ich habe hier viele andere Fragen über etwas Ähnliches gelesen, aber am meisten involvierte Projekte beim Import von Eclipse. Ich verwende die, von der ich glaube, dass sie die aktuellste Version von Android Studio ist, und das Projekt wurde mit Android Studio erstellt und funktionierte ohne "R-Probleme". Ich würde gerne wissen, was dies verursacht, wenn jemand weiß.

643
ez4nick

Ich hatte auch dieses Thema. Ein einfacher "gradlew clean" und "gradlew build" hat den Trick geleistet.


Klicken Sie auf Build-> Clean Project und das wird eine gradle clean durchführen

693

In den neuesten Versionen von Android Studio funktioniert zumindest für mich Folgendes:

"Extras" -> "Android" -> "Projekt mit Gradle-Dateien synchronisieren"

Im neuesten Android Studio 3.1.3 (Juli 2018) ist "Sync Project with Gradle Files" in der Hauptmenüleiste verfügbar.

 enter image description here

221
Tom C.

Ich habe ein ähnliches Problem und hier ist was ich getan habe:

sauberes Projekt und Sync-Projekt mit Gradle, 

enter image description here

Überprüfen Sie die BuildTools-Version in meiner SDK enter image description here

Ändern Sie von Build Gradle (Modul) aus minSdkVersion von 8 auf 9 

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

Aber das hat alles nicht geholfen.

Endlich fand ich die Antwort (das hat in meinem Fall funktioniert)

Änderung von build.gradle (Modul: App) 

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

Oder 

wählen Sie Datei | Änderung der Projektstruktur Build Tools Version auf 21.1.1

enter image description here

103
Mina Fawzy

Ich habe gradle 3.3.0 verwendet. Es war der Hauptschuldige. 6,50 Stunden meines Lebens verschwendet. Gradle 3.2.1 hat den Fehler behoben.

classpath 'com.Android.tools.build:gradle:3.2.1'

Problem behoben, nachdem die Gradle-Version geändert wurde. Details zur Geschichte finden Sie hier .

61
  1. Überprüfen Sie Ihre XML-Dateien.
  2. Projekt reinigen.

Das ist es.

Zum Beispiel hatte ich einen Eintrag in meinem strings.xml:

<string name="A">Some text</string>

Und in activity_main.xml habe ich diesen String-Eintrag verwendet

<TextView
Android:id="@+id/textViewA"
Android:text="@string/A"/>

Während ich mit dem Projekt gearbeitet hatte, habe ich das gelöscht

 <string name="A">Some text</string>

Und folglich wurde activity_main.xml ungültig. Als Ergebnis: kann R nicht auflösen.

Überprüfen Sie also Ihre *.xml-Dateien und bereinigen Sie das Projekt.

53
Iurii

Wenn Sie diesen Fehler nach Verschieben von Java-Dateien oder -Verzeichnissen an andere Speicherorte sehen, können Sie garantieren, dass Android Studio verwirrt ist. Und rate was? Das Rückgängigmachen dieser Aktionen behebt das Problem nicht.

Du versuchst also eine saubere Sache, aber das geht nicht.

Und ein Neustart funktioniert auch nicht.

Versuchen Sie jedoch File -> Caches ungültig machen/Restart ... -> Invalidate and Restart

Android Studio verwaltet Informationen darüber, welche Dateien von welchen anderen Dateien abhängig sind. Da das Verschieben von Dateien nicht korrekt implementiert wird, führt das Verschieben von Dateien zu Fehlern. Und das ist noch nicht alles: Caches dieser Abhängigkeiten werden verwendet, um den Build zu beschleunigen.

Dies bedeutet, dass Sie nicht nur einen Neustart durchführen müssen, sondern auch diese Caches ungültig machen müssen, um die Integrität wiederherzustellen (oder genauer zu erstellen).

47
Scott Biggs

Es gibt viele Gründe für dieses Problem. Vor kurzem habe ich eine Aktivität hinzugefügt, um mit NewActivity zu testen. Dadurch wurde eine Datei mit dem Namen res/menu/new.xml erstellt, und Gradle gefiel dieser Name nicht, da new ein reserviertes Word ist.

gradlew clean

oder 

"Tools" -> "Android" -> "Sync Project with Gradle Files"

Das sind auf jeden Fall gute Dinge, die Sie ausprobieren können, aber Sie haben möglicherweise andere Probleme, die Sie lösen müssen, bevor Sie diese Befehle ausführen.

28
chawkinsuf

Ich denke, wenn Sie Ihre Activities-Dateien in einen anderen Ordner als den Standardordner legen. Sie müssen die Datei com.example.yourproject.R (dies ist Ihre Projekt-R-Datei NICHT Android.R-Datei) in ALLE Aktivitäten mit R importieren. Fügen Sie beispielsweise in der Hauptaktivitätsdatei diese Zeile ein:

import com.example.yourproject.R; 

24
ninjahoahong

Ihr Code ist nur verschlüsselt. Die Antwort ist ziemlich einfach.

Just go to **Build** --> **Clean Project**. 

Das sollte den Trick tun.

Ich bin derzeit mit Android Studio 3.0.1.

14
lloydyu24

Haben Sie kürzlich Ihre SDK-Tools aktualisiert? Starten Sie den Android SDK-Manager und stellen Sie sicher, dass Sie über die neuesten SDK-Tools verfügen, die jetzt von den Plattform-Tools getrennt sind. Ich hatte das gleiche Problem, als ich meinen SDK-Manager zum ersten Mal aktualisiert habe. Das Paket "SDK build tools" wurde erst dann installiert, wenn ich den SDK-Manager geschlossen und wieder geöffnet habe.

13
invertigo

Brother, R.Java-Datei enthält die Verknüpfung zwischen XML und Java-Seite. "R kann nicht aufgelöst werden" tritt nur auf, wenn ein Problem mit einigen Ihrer Ressourcendateien vorliegt. Am besten und effektivsten ist es daher, die zuletzt erstellte XML-Datei zu löschen oder die res-Datei zu zeichnen. und dann wieder von dort nach Android-Kodierungsnormen starten. Das ist der einzige Weg. Der effektive und richtige Weg. 

Verwenden Sie auch Git, um den Code ordnungsgemäß zu verfolgen. .. 

Viel Spaß beim Codieren .. :)

12
Minto

Reinigen Sie einfach Ihr Projekt und synchronisieren Sie das Projekt mit der Gradle-Datei.enter image description here

Und das Problem wird gelöst.

12
Arunendra

Ich hatte vor kurzem dieses Problem und das Clean/Build usw. hat es nicht gelöst. Ich vermutete, dass ich irgendwo ein Problem hatte, aber ich war mir nicht sicher, wo ich suchen sollte (war es im Manifest, in XML-Ressourcendateien usw.?).

Wenn etwas nicht stimmt, können Sie durch Ausführen einer Code-Analyse herausfinden, was es ist.

Wählen Sie aus dem Menü oben:

Analyse -> Code prüfen, das gesamte Projekt mit dem Profil "Standard" scannen.

Ihre Prüfergebnisse enthalten ein Element namens "Android". Hier erhalten Sie eine Liste mit allem, was Probleme in Ihren Ressourcen und in Ihrer Manifestdatei verursacht. Die Fehler öffnen die generierten XML-Dateien Ihres Builds, die alle Fehler in Rot anzeigen.

Mein genaues Problem wurde dadurch verursacht, dass ich Flavour-basierte Manifest-Dateien verwendete und einige Zugriffsrechte innerhalb des <application>-Tags aus Versehen in den Flavour kopierte.

 Inspection

UPDATE: Ich hatte ein Problem, nachdem Android Studio nach dem Update immer noch den Fehler angezeigt hatte, obwohl ich jetzt perfekt bauen und ausführen konnte, während der Fehler noch vorhanden war. (Ich führe einen Kanarienvogel-Build aus, also setze ich mich jetzt auf das.)

11
Matthew Cawley

Ich habe das mit gehabt

  1. Ein Großbuchstabe in meinen nachvollziehbaren Ressourcen.
  2. Importieren von Android.R, das von Android Studio (oder Eclipse) hinzugefügt wird 
  3. Fehler in XML-Datei
9
Ryan Heitner

Gehen Sie einfach zur Android-Top-Menüliste. Klicken Sie auf Build Menü, klicken Sie unter Build auf Rebuild Project.

 enter image description here

9
Gundu Bandgar

Dieses Problem trat auf, als ich den Domänenordner meiner App manuell umbenannte. Um dieses Problem zu beheben, musste ich 

  1. Legen Sie die richtige package-Ordnerstruktur von <manifest> in AndroidManifest.xml fest.
  2. Legen Sie den neuen Paketspeicherort für Android:name von <activity> in AndroidManifest.xml fest.
  3. Cache löschen mit

Dateimenü -> Caches ungültig machen/neu starten ...

Das Problem ist behoben, sobald das Android-Studio neu gestartet und der Index neu erstellt wird.

9
Sridhar

Ich musste mein R-Paket in Android Studio importieren. Zum Beispiel: import com.example.<package name>.R

8
Pervy Sage

Machen Sie: Erstellen> Projekt reinigen

WICHTIG: Stellen Sie sicher, dass nach dem Reinigen des Projekts keine Fehler im Meldungsbereich (Alt + 0) auftreten. Wenn Sie rote Kreise mit Ausrufezeichen finden, müssen Sie diese Fehler in Ihrem Code entfernen. 

Meistens beziehen sich diese Fehler auf @ string/oder @ array /. Projekt wieder reinigen und fertig! 

7
Hassan Naqvi

Es fiel mir schwer, das selbst zu beheben.

  • Stellen Sie sicher, dass Sie keine Fehler in Ihren layout.xml-Dateien haben.
  • Gehe zu Build> Projekt bereinigen

Es hat für mich funktioniert, hoffe es funktioniert auch für Sie.

7

Ich hatte das gleiche Problem und es passiert, wenn ich ein neues Projekt erstelle. 

Was ich mache ist:

  • suchen Sie nach SDK-Updates 
  • dann Android Studio-Updates, 
  • dann öffnen Sie das Projekt erneut 
  • Öffnen Sie die Andoridmanifest.xml 
  • löschen Sie ein Leerzeichen zwischen einem "_>" im Android: Label und speichern Sie. 

Das ist für mich in Ordnung. 

7
Elsanty

Build> Projekt bereinigen

Das hat bei mir funktioniert. Hatte das gleiche Problem ein paar Mal, und dies scheint es richtig zu machen. Es sei denn, Sie haben etwas geändert oder eine Variable R genannt. Dieses Problem tritt normalerweise aus dem Nichts auf, wenn es mir passiert, also stelle ich mir vor, dass es nur Android-Studios sind, die ausflippen. Haha

Wir wünschen Ihnen viel Erfolg und viel Erfolg bei Ihren Projekten.

7
S.Pedro

Ich habe einen speziellen Fall für dieses Problem. 

In meinem Projekt läuft alles gut, es kann kompiliert und erfolgreich erstellt werden, aber in meiner Android Studio IDE (und ich habe auch Intelligent IDEA ausprobiert, sie befinden sich in derselben Situation), kann die R.Java-Datei nicht gut aufgelöst werden und immer sein in rote Linie fallen. 

Genau wie dieser:  enter image description here

Das hat mich fast verrückt gemacht, ich kann die gelesene Farbe nicht ertragen, wenn ich programmiere. 

Endlich fand ich, dass dieses knifflige Problem auf die Dateigröße von R.Java zurückzuführen ist .. Mein Projekt ist sehr groß und unterstützt viele Mehrsprachen- und Mehrfachbildschirmgrößen. Es gibt so viele Ressourcen, dass die Dateigröße meiner R.Java 2.5M ist.

Die maximale Größe einer Datei in Android Studio beträgt in der Standardeinstellung 2,5 MB. Dateien, die diesen Grenzwert überschreiten, können daher nicht gut aufgelöst werden. Sie können die Standardeinstellungen in "AndroidStudio-root/bin/idea.properties" ändern.

diese Zeile ändern:

idea.max.intellisense.filesize=2500

zu:

idea.max.intellisense.filesize=5000

Dann starte Android Studio neu, die rote Farbe wird abgewiesen, ich kann wieder glücklich programmieren.

7
Fido Zhang

Dies ist eine sehr alte Frage, aber es passiert immer noch viel und hier gibt es keine wirklich umfassende Antwort. 

Ich habe dieses Problem öfter gehabt, als ich zugeben möchte. Dies kann durch eine Vielzahl von Problemen verursacht werden, die sich meistens darauf beziehen, dass Ihre Projektstruktur nicht den Erwartungen entspricht. Hier ist eine Liste aller Probleme, die ich hatte:

Das Importieren von Eclipse in Android Studio funktioniert nicht immer reibungslos, insbesondere bei älteren Versionen von Android Studio. Stellen Sie sicher, dass Sie die richtige Verzeichnisstruktur verwenden. Für eine mäßig ausgereifte App sollte es so aussehen:

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

In Ihrer IDE sieht es möglicherweise nicht so aus. Es gibt ein Dropdown-Menü über der Dateibaumstruktur, in dem Ihre Dateien auf unterschiedliche Weise angezeigt werden. Auf meinem System wird standardmäßig ein Android-Gerät angezeigt, das Ihre Dateien in verschiedene Typen aufteilt. Es ist einfacher, diese Art von Problemen aus dem genannten Projekt zu lösen, und noch einfacher direkt aus dem Dateisystem Ihres Betriebssystems, da Android Studio Ordner, die nur einen anderen Ordner enthalten, in einer einzigen Zeile reduziert.

Insbesondere wenn Sie den Namen Ihrer App ändern, müssen Sie sicherstellen, dass der Quellbaum main/Java/com/domain/AppName aktualisiert wird. Stellen Sie außerdem sicher, dass das Paket-Tag in Ihrer AndroidManifest.xml korrekt ist.

Wenn Ihre Gradle-Dateien oder Ihre AndroidManifest.xml-Datei Fehler enthält, kann Android Studio Ihre Ressourcendateien nicht ordnungsgemäß erstellen. Gradle-Dateien können durch ein Upgrade von Android Studio manchmal beschädigt werden, insbesondere von Versionen vor 1.0. Dies liegt manchmal daran, dass ältere Versionen des Gradle-Plugins nicht mehr unterstützt werden. Daher müssen Sie Ihre Versionsnummern aktualisieren. Es kann manchmal schwierig sein, die aktuellen Versionen zu finden. Seit heute, 17.07.15, kompilieren meine Apps mit com.Android.tools.build:gradle:1.2.3. Dies ist im Abhängigkeitsblock in der äußersten Abstufungsdatei. 

Wenn Ihr AndroidManifest auf eine nicht vorhandene Zeichen- oder Zeichenfolgeressource oder -aktivität verweist, wird dies zu einem Fehler und zu einem Fehler führen. Wenn etwas auf eine nicht vorhandene Zeichen- oder Zeichenfolge-Ressource verweist, wird dieser Fehler manchmal angezeigt.

Wenn sich in Ihren Ressourcen eine Datei befindet, die beschädigt ist, oder eine ungültige XML-Datei, erhalten Sie diesen Fehler.

Meiner Erfahrung nach ist Android Studio manchmal ohne Grund ein Problem und Sie müssen es und/oder Ihren PC neu starten. Ich weiß nicht warum, aber manchmal funktioniert es.

Wenn Sie zwei XML-Ressourcen mit demselben Namen in Verzeichnissen haben, die sich nicht überschreiben, kann dieses Problem auftreten. Sie können beispielsweise denselben Namen in drawable-mhdpi und drawable-xhdpi haben, da sie sich je nach Zielgerät überschreiben. Wenn Sie jedoch im Layout und im Menü denselben Namen haben, führt dies zu einem Problem. Benennen Sie eine der Dateien um oder löschen Sie sie.

Wenn nur einige Ressourcen dieses Problem haben, befinden sich diese Ressourcen höchstwahrscheinlich im falschen Verzeichnis.

In einem Fall musste ich Android Studio komplett neu installieren. Ich weiß nicht, was los war, aber es hat funktioniert.

In einem Fall habe ich mein gesamtes Projekt in ein anderes Verzeichnis verschoben und als neues Projekt erneut importiert. Ich weiß nicht, was los war, aber es hat funktioniert.

Xml-Dateien mit reservierten Wörtern für Namen können dieses Problem verursachen. Benennen Sie sie um oder löschen Sie sie.

Es gibt einige Möglichkeiten, wie Ihre Gradle-Datei auf eine Version der Build-Tools verweist, die Sie nicht installiert haben. Korrigieren Sie dies, indem Sie Gradle ändern oder die entsprechenden Build-Tools herunterladen.

Nachdem Sie das Problem behoben haben, müssen Sie Ihr Gradle-Projekt bereinigen. Dazu gehen Sie oben im Menü Erstellen auf Projekt auswählen.

7
TBridges42

Diese Notation scheint gut zu funktionieren. 

Android:id="@+id/viewID"

Das Design-Panel von Android Studio scheint nicht gut zu funktionieren.

5
Tevin J

Gleiches Problem. Begonnen, als ich ein paar Bilder in meinen Zeichnungsordner eingefügt und versucht habe, darauf zuzugreifen. Auch die hinzugefügten Bilder hatten die Erweiterung mit Großbuchstaben. Das scheint den Build abgestürzt zu haben, denn selbst wenn ich sie umbenannte, war die Nachricht gleich und R war nicht erreichbar. Was ich getan habe ist, in der .iml-Datei habe ich nach dem excludeFolder gesucht und sie entfernt (wie unten):

  <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" />

Danach baute ich das Projekt neu auf und R erschien magisch.

5
user1137313

Ich hatte das gleiche Problem und meistens wurde es von gelöst 

  • Projekt synchronisieren mit Verlaufsdateien
  • Doing Build -> Clean Project
  • Doing File -> Caches für ungültig erklären

Aber dieses Mal blieb der Fehler bestehen, auch nachdem ich all diese Dinge getan hatte, und schließlich fand ich den Täter.

Das Problem war in einer xml-Datei , wo ich einen normalen String-Wert für einen Android:id anstelle eines id-Ressourcentyps angegeben habe.

FEHLER

Android:id="username"

KORREKTUR

Android:id="@id/username"

Das Verwechseln von Dingen, die sich auf resources in XML-Dateien beziehen, ist von großer Bedeutung Grund für diesen Fehler. Ursache dafür, dass er möglicherweise nicht als Fehler in der XML-Layoutdatei angezeigt wird.

HINWEIS 

In den meisten Fällen zeigt der Compiler die Fehlerquelle in der Nachricht an. Versuchen Sie es zunächst, bevor Sie andere Lösungen versuchen

5
Siva Prakash

`Ich hatte dasselbe Problem und es wurde gelöst durch:

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.`
5

ändere die neueste sdk version, das war arbeit für mich

1. Klicken Sie auf Datei und dann auf Projektstruktur. 2. Wählen Sie dann "App" und klicken Sie auf OK. Es hat bei mir funktioniert. enter image description here

4
Than Htut

Das bereitete mir große Kopfschmerzen. In meinem Fall trat der Fehler auf, nachdem "Google Play Services" in Android Studio konfiguriert wurde (Installation von + build.gradle config). Dies erfordert wiederum minsdk> 7, aber der Fehler ist sehr unklar (tatsächlich erscheint eine Beschwerde nur als "Info"). Wie auch immer ... nachdem minsdk sowohl in der Manifestdatei als auch in der Datei build.gradle auf 8 geändert und das Projekt neu erstellt wurde, war der Fehler verschwunden.

Also ... ein allgemeiner Hinweis zu diesem Thema, wenn ich verallgemeinern darf - Sie haben wahrscheinlich ein Problem in Ihrer Manifestdatei oder in einer anderen Konfigurationsdatei, die einen ordnungsgemäßen Build verhindern. Schauen Sie sich den Fehlerbericht wirklich genau an, sogar die Nachrichten mit dem Titel "info", um Hinweise auf mögliche Fehler zu finden ...

4
ayal gelles

Es gibt viele Ursachen für diesen Fehler.

  1. Manchmal tritt es für das Ersetzen einer Image-Datei mit demselben Namen auf.
  2. Angenommen, Sie haben ein Element aus dem Layout .xml gelöscht, sagen Sie einen <Button/>, aber es wird immer noch in einer Aktivität oder einem Fragment .Java deklariert.
  3. Viel mehr.

Der beste Weg, um den Fehler aufzuspüren, ist die Neuerstellung des Bereinigungsprozesses oder die Synchronisierung mit einem beabsichtigten Fehler.

Wenn das Problem dadurch nicht gelöst wird, muss ein Fehler oder ein Laufzeitfehler oder ein Fehler aufgrund einer nicht ordnungsgemäßen Verwendung der Ressourcen in der Java- oder XML-Datei in Ihrem Code oder Design aufgetreten sein, die dazu führt, dass Gradle angehalten wird ) Die Quellendatei kann Ihre Ressourcen nicht richtig indizieren, und das müssen Sie zugeben.

Wenn Ihr Projekt ausgeführt wurde, bevor Sie die Änderungen vorgenommen haben, kommentieren Sie die vorgenommenen Änderungen aus und versuchen Sie, das Projekt neu zu erstellen.

Es wird sicherlich funktionieren, da es keine Änderungen gibt.

Um den genauen Fehler aufzuspüren, überprüfen Sie die Änderungen, indem Sie die Änderungen in ein kleineres Modul aufteilen.

Beispiel - Wenn Sie eine Liste mit einem Klick auf die Schaltfläche sichtbar machen und Listenwerte in den Adapter einfügen, überprüfen Sie zunächst, ob Sie sie sichtbar machen können oder nicht, und prüfen Sie dann, ob Adapterfehler vorliegen.

4
Sourav Roy

Das Reinigen, Wiederherstellen und "Cache-Entfernen" hilft mir nicht.

3

Leute, ich glaube, hier gibt es viele Aufnahmen im Dunkeln. In einigen Fällen hilft Clean and Sync Project erst, nachdem Sie das Problem behoben haben.

Schritt 1: Sehen Sie sich also oben in jeder Datei an, in der das Paket wie folgt angegeben ist: pakage="YourURL.YourProject"; und stellen Sie sicher, dass das richtige Paket (Ihr eigenes Projekt) angegeben ist. Sie finden dies in Java -Dateien und AndroidManifest.xml, und es ist wichtig, dass die Java -Dateien auf das richtige Paket verweisen Paket enthält die Ressourcen ("R"), auf die Sie verweisen. Sollten sie nicht übereinstimmen der Fehler Symbol R kann nicht aufgelöst werden auftreten.

Schritt 2: Bereinigen, Synchronisieren, was auch immer. Getan

Warum passiert das also zufällig oder was habe ich falsch gemacht?

Wenn Sie kopieren und einfügen Code, sollten Sie genau auf das "package =" achten, wie oben erläutert. Noch wichtiger ist, dass beim Einfügen von Code sofort ein eine Art Debugger (Entschuldigen Sie meinen schlechten technischen Ausdruck) durchlaufen wird, um Ihnen "vermutete Fehler" anzuzeigen, bei denen das "Falsche Paket" sofort berücksichtigt wird Sie erhalten alle Fehler. Daher wurde der Debugger bereits aktualisiert, obwohl Sie die Notation nach dem Einfügen sofort korrigiert haben. Deshalb funktioniert "Clean, Sync, Whatever" MANCHMAL

3
Angoranator777

Für mich bestand das Problem darin, dass ich auf eine Version von Gradle aktualisiert habe, die anscheinend einige Fehler aufweist. 3.4.0-alpha02 habe ich aktualisiert und festgestellt, dass dies der Schuldige des Fehlers "Symbol R kann nicht aufgelöst werden" ist. Ich kehrte zu 3.3.0-alpha10 (d. h. classpath 'com.Android.tools.build:gradle:3.3.0-alpha10') und es löste das Problem.

Dies ist offensichtlich keine dauerhafte Lösung, da ich früher oder später ein Upgrade durchführen muss, aber ab dem 3. November 2018 3.4.0-alpha02 ist die neueste Version und behindert meine Entwicklung, indem ich nicht auf die IDE durch Klicken auf R-Verweise herumhüpfe.

3
mp501

Dies ist mir vor kurzem passiert, als ich viele Bibliotheken eines Projekts aktualisiert habe. R wurde nicht gefunden, aber ich konnte das Projekt gut erstellen und ausführen. Es ist nicht abgestürzt. Die IDE zeigte einfach überall Rot.

Ich versuchte zu

  • Überprüfen Sie, ob XMLs und Bilder beschädigt sind oder nicht. Es wurden keine gefunden
  • Suchen Sie nach ungültigen Ressourcendateinamen (z. B. Großbuchstaben). Keine gefunden
  • Downgrade einiger Bibliotheken, weil vielleicht es ein Ressourcenkonflikt war, der nicht gelöst wurde
  • compileSdkVersion und targetSdkVersion wurden verringert, da ich in der Vergangenheit auf Ressourcenprobleme gestoßen bin. Bei diesem Projekt war dies jedoch nicht der Fall.
  • Sauber, hat nicht geholfen
  • Projekt umbauen, hat nicht geholfen
  • Caches ungültig machen/mehrmals neu starten, hat nicht geholfen
  • idea.max.intellisense.filesize wurde auf einen sehr hohen Wert eingestellt, es hat nicht geholfen
  • Hat einen Lint ausgeführt, keine Fehler gefunden

Am Ende fand ich heraus, dass das Downgrade meiner Gradle-Build-Tools (von 3.3.1 auf 3.2.1) das Problem gelöst hat. Das war die einzige Änderung, die ich machen musste. Der Rest wurde aktualisiert. Jetzt werden alle meine Bibliotheken ohne Probleme aktualisiert.

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
    }
}
3
Gene

Importieren Sie einfach das R-Symbol aus dem Root-Paket

import rootpackage.R;

Keine Neuerstellung, Synchronisierung oder andere Dinge ...

3
Rzv Razvan

Eines funktioniert bei mir immer:

gehe zu -> build.gradle (Module: app) Datei deines Projekts -> ändere ein wenig (zum Beispiel: lege ein <space> irgendwo und entfernen Sie es zurück) -> dann Android studio fordert Sie auf, sync Ihre gradle-Datei -> in der oberen rechten Ecke der Datei -> select "sync now".

Nach Abschluss der Synchronisierung wird das Problem in den meisten Fällen behoben.

3
Danger

In meinem Fall wurde das Problem gelöst, indem Android Studio von 3.1 auf 3.3 aktualisiert wurde

So aktualisieren Sie Ihr Android Studio: Datei -> Einstellungen -> Systemeinstellungen -> Updates und klicken Sie dann auf Jetzt prüfen.

 enter image description here

2
Tanvir Hasan

In meinem Fall ging ich nach dem gleichen Fehler (Symbol R kann das Symbol R nicht lösen) mit der Android Studio-Version 0.8.9 in die Datei-> Projektstruktur und änderte den JDK-Speicherort in Oracle JDK, das ich manuell installierte. Also in meinem Fall in Linux anstelle von/usr/lib/jvm/Java-7-Oracle das voreingestellte. Ich änderte es in /home/phvz/App/jdk1.8.0_20, speicherte die Einstellungen und das R-Symbol Problem wurde sofort behoben

2
Paris G.

Was für mich funktioniert hat war:

  1. Ein neues Projekt erstellt.

  2. Gefunden, dass der R wokring!

  3. Verglichen mit allen Konfigurationen.
  4. Fand diesen Unterschied in der gradle-Datei: compile 'com.Android.support:appcompat-v7:23.4.0'

  5. Sync und es hat wieder funktioniert!

2
M. Sherbeeny

Ich habe dieses Problem vor allem, wenn ich versehentlich ein Layout oder ein Menüressourcendatei beschädigt habe. Das Szenario, dass ich getroffen habe , kann das Symbol R nicht auflösen, wenn ich vergesse, "@+id "dort, wo ich eine ID in einem Menüpunkt definieren muss.

Bei einer beschädigten Menüressourcendatei wird dieser Fehler angezeigt, wenn ich versuche, das Projekt damit zu erstellen. Da R eine Containerklasse für Ressourcen ist, scheint gradle nicht binden zu können R Wenn Ressourcen nicht analysiert werden können, . xml Dateien.

Die Lösung besteht einfach darin, die Ressourcendateien zu reparieren, das Projekt zu bereinigen und erneut zu erstellen.

2

Stellen Sie sicher, dass Sie im Projekt über AndroidManifest.xml verfügen. 

Es ist mir passiert, dass ich ein Projekt importiert habe, das noch nicht über das Manifest verfügt, sodass Android Studio es nicht als Android-Projekt erkennt. Dann zog ich das Projekt in GIT und lud das Manifest herunter, funktionierte aber immer noch nicht. Dann habe ich Android Studio neu gestartet und es sagte etwas wie "Framework hat Android erkannt".

Stellen Sie daher sicher, dass Ihr Projekt als Android-Projekt konfiguriert ist.

2
xhenryx14

Ich habe festgestellt, dass in großen Projekten die automatisch generierte R.Java größer als 2,55 MB ist (das Standardlimit von Intellij). Dadurch wird die Datei generiert, aber nicht aufgelöst. Um es zu lösen, erhöhen Sie einfach dieses Limit:

  1. in der Android Studio-Hilfe -> Benutzerdefinierte Eigenschaften bearbeiten ...

 enter image description here

  1. Akzeptieren Sie diese und fügen Sie Folgendes hinzu: idea.max.intellisense.filesize=3000 (3000 oder jeder Wert, der größer als die R-Dateigröße ist)

 enter image description here

  1. starten Sie schließlich Ihr Android Studio neu!
2
riu999

Zuerst prüfen Sie, ob in einem XML-Layout ein Fehler vorliegt oder nicht, wenn Sie ihn zuerst beheben.

Entfernen Sie andernfalls die Abhängigkeit von junit aus dem Projekt und erstellen Sie das Projekt neu.  enter image description here

2

Unter OS X mit Android Studio 0.2.13 habe ich "Jump to Declaration" auf der COM-Datei <project> .R in eine meiner Aktivitäten importiert. Als ich zur Aktivitätsdatei zurückkehrte, waren alle Warnungen verschwunden.

Bearbeiten: Sie müssen die aktuelle Build-Variante erstellen, bevor dies funktioniert.

2
Mike Hays

Ich habe ein paar Bilder zu gezeichneten Ressourcen hinzugefügt, und eines meiner Bilder wurde als " super . Jpg" bezeichnet, was sich als Ursache herausstellte. 

Das Umbenennen des Bildes und after, das das Projekt mit Gradle-Dateien synchronisiert, behebte den Fehler. 

2

In meinem Fall funktionierte der Code vor der Aktualisierung von Android Studio einwandfrei. Nach dem Update wurdeRDatei nicht erstellt. Ich arbeitete an einer benutzerdefinierten Ansicht und hatte ein Attribut 

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

in meiner erklärbar. Das gleiche Attribut wurde auch von der Benutzeroberfläche des Systems verwendet:

<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>

Ich habe den vorherigen showText in showTextFormat umbenannt und dann die Synchronisierung von Gradle, die die R.Java-Datei neu generiert hat.

2

Auf Ubuntu 12.04 funktionierte nichts davon für mich. Ich musste folgendes tun:

Sudo apt-get install lib32stdc++6
Sudo apt-get install lib32z1

Danach folgte ich anderen Ratschlägen in diesem Thread, machte Build -> Clean Project und alles war in Ordnung.

2
LOLapalooza

In meinem Fall: Die Datei res/someLayout.xml führt zu einem Fehler, der dann behoben wird. Dann Projekt löschen . Fehler ist weg.

2
Vrajesh

Ich hatte Android:textAllCaps = "false" im androidmanifest , das den R file verwüstete. Ich habe es gelöscht und alles ist gut. Ich denke, der target sdk war nicht hoch genug eingestellt.

2
timmyt123

Dieses Problem hatte ich beim Importieren der Datei google-services.json zur Implementierung von Analytics. Ich hatte bereits die Datei global_tracker.xml im xml-Ordner. Beim Zusammenführen von Inhalten aus der Datei google-services.json wurde der Fehler gestartet. 

Der Fehler wurde behoben, nachdem die goolgle-services.json-Datei entfernt wurde.  

2
Lalit Rane

Keine der obigen Antworten hat mir geholfen. Ich stellte schließlich fest, dass das Problem darin bestand, dass der Ordner "build" in Android Studio fehlte. Ich habe in der Projektdatei "iml" eine Reihe von Zeilen gefunden, mit Ausnahme von "build/*". Nach dem Entfernen der Dateien wurde die Build-Datei angezeigt und die Fehler verschwanden.

2
thefreeman

In einer Instant-App-Aktivität eines Nicht-Basisfeatures können Sie R.id.fromFeatureOne und R.is.fromFeatureTwo aufrufen. Daher werden Elemente aus verschiedenen Ressourcen als eine einzige Quelle Origin bezeichnet. 

Beide werden als akzeptabel markiert und Sie können sogar zur Quelle springen. Build führt jedoch zu einem Fehler: "kann das Symbol R.id nicht finden".

Die Lösung ist, com.example.feature.one.R.is.fromFeatureOne und com.example.feature.two.R.is.fromFeatureTwo aufzurufen.

Außerdem wurde ein Fehler bei Google herausgegeben: https://issuetracker.google.com/u/0/issues/77537714

1
Zon

Anscheinend wurde das Problem in meinem Fall durch Hinzufügen eines "*" am Ende gelöst 

import Android.R.*;
1
Dan

Ich habe alles oben verfolgt und es hat nicht funktioniert. In meinem Fall musste ich das JDK einrichten, als ich jede einzelne Java-Funktion in Rot für die Android-L-Vorschau hatte ... 

Auf dem Mac:

  1. Klicken Sie einmal auf das, was in Ihrem Code rot (oder unterstrichen) ist (d. H. Aktivität, Zeichenfolge).
  2. Klicken Sie auf den roten Lichtpunkt, der links angezeigt wird.
  3. Wählen Sie "Setup JDK".
  4. Überprüfen Sie, ob annotations.jar und Android.jar in der aktuellen SDK-Version, die Sie verwenden (in meinem Fall SDK 20 Android-L). Du solltest auch den "res" Ordner haben, aber irgendwie hatte ich ihn noch in den Einstellungen.
  5. Wenn nicht, wählen Sie das SDK aus und drücken Sie "-".
  6. Drücken Sie "+" und suchen Sie den SDK-Ordner auf Ihrem Computer (Mac: Programme> Android Studio.app> sdk).
  7. Wählen Sie die gewünschte SDK-Version aus (in meinem Fall 20 Android-L).
  8. Klicken Sie auf Hinzufügen.
  9. Erstellen und synchronisieren.

Dann wurde alles wieder normal für mich.

1
Tomap

ich habe make project und es funktioniert Aber vorher versuchen Sie, den Paketnamen in Ihrem Manifest zu überprüfen. Wenn das Problem nicht behoben wurde, erstellen Sie Ihr Projekt

1
Fakher

Noch etwas zu versuchen ...

  1. Löschen Sie den Build-Ordner
  2. Erstellen Sie das Projekt neu, indem Sie Gradle synchronisieren

Ich hatte schon viele der anderen Vorschläge hier ausprobiert 

  • das Projekt reinigen,
  • android Studio neu starten,
  • fehler in meiner XML korrigieren,
  • projekt mit Gradle-Dateien synchronisieren und
  • aktualisieren der Build-Tool-Version

aber nichts davon funktionierte. 

Ich habe schließlich den gesamten Build-Ordner manuell gelöscht (nachdem ich mein Projekt gesichert hatte) und dann Android Studio neu gestartet. Danach habe ich in meiner App build.gradle-Datei eine geringfügige Änderung vorgenommen (ein Leerzeichen hinzugefügt und gelöscht) und dann auf Synchronisierung geklickt. (Ich hätte wahrscheinlich gerade Tools> Android> Sync-Projekt mit Gradle-Dateien über das Menü ausführen können.) Danach hat es funktioniert. Etwas war im Build-Ordner beschädigt und wurde mit einem neuen Build neu gestartet.

Ich weiß nicht, ob jemand die Liste der Lösungen so weit liest, aber ich werde diese Antwort trotzdem hinzufügen.

1
Suragch

Keine der obigen Antworten hat mein Problem behoben. Also fügte ich meine Lösung hinzu für den Fall, dass jemand auf ein ähnliches Problem stößt. In meinen build.gradle Abhängigkeiten hatte ich

compile 'com.Android.support:appcompat-v7:22+'

und meine compilesdk-Version war compileSdkVersion 21, daher war das Android-Studio nicht glücklich. Ich habe einfach meine compilesdkversion auf 23 aktualisiert und synchronisiert.

Ich habe auch die Abhängigkeit als aktualisiert

compile 'com.Android.support:appcompat-v7:23.1.1'

zu meiner Support-Bibliothek in Tools -> Android -> SDK-Manager -> Registerkarte SDK-Tools -> Android Support Library -> Version . Nun ist alles in Ordnung. Viel Spaß beim Codieren :)

1
The_Martian

Erstellen -> Projekt bereinigen oder Projekt neu erstellen Oder Datei -> Caches ungültig machen/Neustart ... -> Invalidieren und neu starten

1
Hitesh Kanjani

Hinweis: Dies kann nur hilfreich sein, wenn Ihr Projekt sehr umfangreich ist.

TL; DR - Die generierte R-Datei überschritt 2,56 MB und wurde von Android Studio nicht indiziert. Sie können die Lösung hier verfolgen: 

Die Dateigröße überschreitet das konfigurierte Limit (2560000), Code Insight-Funktionen stehen nicht zur Verfügung

War mit einem ähnlichen Problem konfrontiert. Aber keine der Antworten schien den Trick auszuführen.

Die R-Datei war größer als 2,56 MB. Beim Öffnen der generierten R-Datei wurde die Meldung angezeigt, dass Code-Erkenntnisse möglicherweise nicht verfügbar sind.

Das Ändern des Standards in idea.properties, um eine größere Datei zu ermöglichen, hat den Trick geleistet.

Entschuldigung für die Formatierung auf dem Handy.

1
user3501236

In meinem Fall wurde durch das Importieren des Anwendungsdomänennamens gefolgt von ".R" das Problem behoben. Beispiel: 

import com.example.myapp.R;
1
qjk

Dies ist auf kürzlich gelöschte xmlsIn Android Studio zurückzuführen. Reinigen Sie Ihr Projekt von diesen XML-Dateien, indem Sie Folgendes auswählen: Build -> clean project 

1
Tony Tawk

Ich habe dieses Problem auch erhalten und habe es auf diese Weise gelöst. Gehen Sie zuerst zu Gradle und klicken Sie auf Bereinigen. Klicken Sie anschließend auf Erstellen.

Stellen Sie sicher, dass Sie nicht von Android Studio reinigen

1
Susampath

Ich hatte meine XML-Dateien in einem LAYOUT-Ordner anstelle des MENU-Ordners.

Dies war das Ergebnis des Umstiegs von Eclipse auf Android Studio.

Lösung für mich war einfach ... verschieben Sie meine XML-Dateien in den Ordner MENU und kompilieren Sie sie erneut.

1
user3063582

Im neuen Android-Studio 2.2. Wenn Ihre TargetSDK = <15 ist, können Sie auch dieses Problem finden. Ändern Sie dies in gradle.build und folgen Sie den Schritten wie in den vorherigen Antworten. Synchronisierungsdateien synchronisieren und neu erstellen. Sie können auch Caches verwerfen und das Studio neu starten, was manchmal auch hilfreich ist.

1
Erick Boshoff

In meinem Fall musste ich einige Fehler in meinen XML-Layoutdateien beheben. Es gab kein Symbol, das darauf hinweist, dass die Dateien Fehler enthielten. Wenn ich sie jedoch anklickte, bemerke ich ein paar rote Linien. Nachdem sie behoben wurden, wurde R gefunden.

1
Michiel Pater

Wenn Sie einen Fehler in der XML-Datei haben, können Sie das Problem nicht beheben. Das würde ich vorschlagen

-Überprüfen Sie zunächst Ihre XML-Datei, um nach Fehlern zu suchen 

- zweite Suche nach Ereignisprotokoll, was Android Studio den Fehler erkannt hat, und es wird Ihnen angezeigt, welche Datei und wo der Fehler ist.

So habe ich mein R-Problem behoben

1
Mjachowdhury

Ich hatte momentan ein ähnliches Problem. Das Problem war, dass ich in meinem Projekt mehr Module hatte. Z.B. app-Modul und library-Modul. Obwohl sowohl die Klasse als auch die R.string-Ressource aus dem app-Modul stammen, hatte ich irgendwie import com.package.library.R dort. Irgendwie hat Android Studio dies nicht als Fehler erkannt und Gradle/Sync baut mein Projekt ohne Probleme auf. Beim Versuch, Unit Tests auszuführen, schlug der Builder Builder Builder mit dem beschriebenen Fehler fehl.

package com.package.app

import com.package.library.R;
//...

class SomeClass {
  //...
  public void someMethod() {
     Toast.make(context, R.string.message, TOAST_LONG).show();
  }
}

Wenn sich die R.string.messsage-Ressource tatsächlich in meinem com.packagename.app-Modul und nicht im com.packagename.library-Modul befindet. Das Entfernen des import ... hat mein Problem gelöst.

1
Jan Kubovy

Stellen Sie sicher, dass der vollständige Paketname in der ersten Zeile steht. Angenommen, Sie haben eine Datei namens LoginActivity.Java und das Paket com.domainname.project.

Die erste Zeile für LoginActivity.Java sollte sein

package com.domainname.project;

Dies entspricht der Angabe von "Namespace" in dot.net. Stellen Sie außerdem sicher, dass das Paket dem Paket entspricht, in dem sich Ihre * .Java-Datei befindet.

0
Simba

Ich habe diese Fehlermeldung erhalten, nachdem ich das Gradle-Plugin von Version 1.3.1 auf aktualisiert habe

classpath group: 'com.Android.tools.build', name: 'gradle', version: '2.2.1'

Es zwang mich, alle Referenzen wie zu ändern

import [applicationId].R;

zu

import [package].R;

In meinem Bibliotheksprojekt funktionierte appcontext.getPackageName(); nicht mehr richtig. Ich habe es verwendet, um die korrekten App-Ressourcen über Reflection zu erhalten, aber nach dem Upgrade des Gradle-Plugins begann es, die Flavour-spezifische applicationId zurückzugeben, anstatt das Paket ... Sie können mehr über dieses hier lesen.

0
Gabor

Dieses Problem wird aufgrund der Benennung von Dateien im Ordner "res" oder "drawable" verursacht. Sie können keine Großbuchstaben zum Benennen einer Ressourcendatei verwenden. Überprüfen Sie also, ob eine solche Datei vorhanden ist, und benennen Sie sie in Kleinbuchstaben um.

Sie können auch Folgendes versuchen: Gehen Sie zu: Datei> Cache ungültig machen/Neustart 

Diese Optionen haben für mich funktioniert.

0
galibhkhan

Sie können delete eines Ihrer layout files (egal welches), danach müssen Sie build project. Das Projekt wird erstellt und danach müssen Sie Ihre Layoutdatei bis zurückgeben CTRL + Z. In meinem Fall hat es mir nicht geholfen, ein Projekt zu erstellen, bevor ich layout file gelöscht habe. Aber dieser Weg ist in Ordnung.

0
Valentin

Fehler beheben "Kann Symbol r nicht beheben" Fehler . Versuchen Sie diese Lösungen.

  1. Build -> Projekt reinigen.

  2. Erstellen -> Projekt erstellen.

  3. Erstellen -> Projekt erstellen.
  4. Drittes Symbol von links in der Symbolleiste -> Projekt mit Verlaufsdateien synchronisieren.
  5. Datei -> Caches ungültig machen und neu starten.
  6. Stellen Sie sicher, dass Sie eine kompatible Gradle-Version in der Gradle-Datei auf Anwendungsebene verwenden.

z.B. : "Klassenpfad" com.Android.tools.build:gradle: X.X.X "".

Ich hoffe, diese Lösungen können Ihnen helfen.

Danke fürs Lesen.

0
Aman Goyal

Siehe unten Image Goto File -> Project Setting -> Set All Setting wie image and Sync. Damit werden die neuesten Einstellungen in Ihr Projekt übernommen . This Image contain project settings. Wenn Ihr Projekt erfolgreich verlaufen ist, müssen Sie dies tun. weil es alle update einstellungen und gradle importiert.

0
Tejas Shukal

Sie müssen nur Ihre XML-Datei überprüfen. Wenn es einen Fehler gibt, können Sie diesen Fehler nicht beheben Lösen Sie einfach den Fehler in XML und versuchen Sie es dann.

OR

Bereinigen Sie Ihr Projekt von Build -> Clean

0
Hardik Lakhani

Erste Lösung

Rebuild your gradle or invalidate/restart your system.

Zweite Lösung

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

und entfernen Sie auch Redline-Fehler, ohne dass Sie einen Grund dafür bekommen.

0
Jatin Bansal

Ich sehe, dass dieses Problem viele Dinge verursachen kann. In meinem Fall hatte ich etwas TextView in einer der Aktivitäten * .xml-Dateien. Ich habe den Text in den Editor eingefügt (um ihn später per Code zu ändern): "NAME: <here will be name>". Anscheinend brachen die Zeichen "<" und ">" den Import von R in meinem Projekt von überall her. Ich habe es geändert und es fing an zu arbeiten. Ich habe einfach vergessen, dass ich diese Zeichen nicht in * .xml-Dateien verwenden kann, da sie ihre Struktur aufbauen. Es lohnt sich, dies im Hinterkopf zu haben.

0
serwus

Danach mache ich "Build-> clean project" und "Sync project with gradle". Beide sind nicht entschlossen. Ich baue Gradle-Version von 3.3.0 herunter => 3.2.1 (wieder als Projektinitialzustand) und löse mein Problem.

0
Lwf804

Nichts hat für mich funktioniert, dann muss ich mein Android-Studio aktualisieren, damit es funktioniert. Nach dem Update von Android Studio auf die neueste Version ist das Problem behoben.

0
Shivam Yadav
  1. Typ 1: Schließen Sie das Projekt, löschen Sie die .gradle-Datei in Ihrem Projekt und erstellen Sie das Projekt neu
  2. Typ 2: Wenn Typ 1 nicht funktioniert, machen Sie einfach eine Sicherungskopie von dieser project9Zip-Datei und löschen Sie das Projekt. Extrahieren Sie dann das gezippte Projekt und importieren Sie das extrahierte Projekt. Es funktioniert einwandfrei, da es für mich funktioniert.
0
Manjunath

Ich arbeite an einem multi-module-Projekt. Dies ist mir passiert, als ich den gesamten UI-Code in ein neues Modul verschoben habe.

So löse ich das Problem: .__ Ich finde heraus, dass wenn ich den neuen ui module im /res/values erstelle, er einen neuen strings.xml mit nichts Nützlichem erstellt. Ich lösche diese strings.xml-Datei, rebuild das Projekt, und es funktioniert.

0
laixiaoyuan

In meinem Fall habe ich versucht, das Projekt zu clean und rebuild zu machen. Das Problem wurde nicht behoben, da in der Layoutdatei ein Fehler vorhanden war. Zur Neuerstellung habe ich einen Tippfehler für ein Attribut im App-Namespace hinzugefügt.

<?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 hat die Attribute des app-Namespaces nicht geprüft. Die Datei scheint fehlerfrei zu sein. Beim Erstellen des Projekts wird Cannot resolve symbol 'R' angezeigt. Die Fehler werden im Build-Protokoll angezeigt.

 Cannot resolve symbol 'R' - Android Studio

Behebung des Tippfehlers behebt das Problem, siehe unter Android-Ausgaben im Build-Protokoll.

0

Für mich ist es wichtig zu sagen, dass Android Studio anfangs Schwierigkeiten beim Lernen gibt, aber wie hier die Lösung hat Clean Project das Problem beheben können, überprüfen Sie immer den gepackten Namen und versuchen Sie nicht, mit der Logik herumzuspielen. Ich mag die Software aber manchmal versuche ich zu überlegen, ob der Weg richtig ist oder nicht, auch ich mag Linux, aber für mich, wenn ich Android Studio die gesamte Software umschreibe, wird dies vielleicht nicht passieren. Wie auch immer - Viel Glück!!!!

0
Pedro Duarte

Im Projekt gradle (d. H.) Build.gradle aktualisieren Sie einfach die com.Android.tools.build:gradle als

abhängigkeiten {

klassenpfad 'com.Android.tools.build:gradle:3.2.1'

}

0
Gowtham. R

Schauen Sie sich die Gradle Console an. In meinem Fall hatte ich eine Ressource mit der falschen Dateierweiterung angegeben.

AAPT: libpng error: Not a PNG file
:app:mergeDebugResources FAILED

FAILURE: Build failed with an exception.

Nach dem Umbenennen der Datei und Sync Project with Gradle Files war alles in Ordnung.

0
creep3007

Ich hatte das gleiche Problem: Android Studio 3.2 Das Projekt wird kompiliert und ausgeführt, aber es wird angezeigt, dass das Symbol "R" nicht auf dem Bildschirm angezeigt werden kann

Hilft nicht:

  • Build-> Projekt reinigen 
  • Build-> Projekt neu erstellen
  • Datei-> Caches ungültig machen/neu starten

Hilft:

entweder 

in build.gradle

dependencies {
        classpath 'com.Android.tools.build:gradle:3.3.0'
...
}

ersetzen mit 

   dependencies {
            classpath 'com.Android.tools.build:gradle:3.2.1'
    ...
    }

oder

Aktualisieren Sie Android Studio auf 3,3.

0
Alex Burov

in den meisten Fällen wird dieses Problem durch die XML-Dateien verursacht. Schauen Sie sich die XML-Dateien an und suchen Sie nach Fehlern.

0

Ich denke, ich habe die ultimative Lösung. Ich recherchierte und fand heraus, dass Android Studio 'White Spaces' in Installationspfaden oder Verzeichnissen hasst. Es akzeptiert kein SDK, das sich in einem Verzeichnis befindet, das ein Leerzeichen enthält. Zum Beispiel

C:\Programme (x86)\Android\sdk 

Dieses Verzeichnis ist ungültig, da es ein Leerzeichen enthält. Hier , ich habe bereits eine Frage beantwortet, bei der ein Typ seinen JDK-Pfad in Android Studio nicht ändern konnte, da in seinem SDK-Verzeichnis ein Leerzeichen vorhanden war. Dies ist seltsam, aber es scheint, dass Android Studio Verzeichnisse mit Leerzeichen hasst. Die Lösung ist also 

Installieren Sie das Android Studio sowie das Android SDK in einem Verzeichnis oder Pfad, in dem kein Leerzeichen vorhanden ist.

Zum Beispiel: Installieren Sie Android Studio in

C:\AndroidStudio\

Und installieren Sie Android SDK in

C:\Sdk\

Beide Verzeichnisse sind gültig, da kein Leerzeichen vorhanden ist. Jeder Pfad, der keine Leerzeichen enthält, ist gültig. Es werden auch andere Probleme behoben, z. B. 'Fehler beim Beheben von Fehlern: junit: junit: 4.12' oder 'Absturzsynchronisationsprojekt fehlgeschlagen' usw.

0
Akshay

// Irgendwann wegen unvollständiger Synchronisierung entsteht ein Problem 

// Folgen Sie einfach den Schritten und es wird Ihre Arbeit auf jeden Fall erledigen

Click on Build->Clean Project and that will perform a gradle clean
0
Jay

Ich hatte das ungelöste R-Problem wegen der gleichen image.png-Datei an zwei Stellen. Eine in res> anim und dieselbe Datei in res> drawable-hdpi. Dies führte dazu, dass R ungelöst wurde. Ich habe das Problem verursacht, indem ich ein Begrüßungsbildschirm erstellt und es wiederholt aus dem Moray-Grafikverzeichnis direkt in das Android-Projekt verschoben habe. Ich muss es aus Versehen in den Ordner res> anim gelegt haben. Ich habe das Problem behoben, indem ich die doppelte Bilddatei aus dem Ordner res> anim entfernte und das Android Studio sich selbst korrigierte.

0
Paul Moore

Dies kann durch einfaches Definieren eines App-Namespaces in Ihrer XML-Datei verursacht werden. Dies war eine völlig harmlose Linie, die nur ein Symbol (von vielen) auswählte, um ungelöst zu bleiben. Durch einfaches Entfernen der gesamten Zeile, die im Bild unten grau dargestellt ist, konnte mein Code auf ein nicht aufgelöstes Symbol verweisen. Sogar als ich die Zeile wieder hinzufügte, entschied es sich, ohne Probleme zu bauen. Stelle dir das vor.

 enter image description here

0
Alyoshak

In meinem Fall bestand der Grund darin, dass sich einige Bilder im Ordner res mit einem Großbuchstaben befanden.

benennen Sie es einfach mit Kleinbuchstaben um und bauen Sie um

0
Mohammad Shraim

Es ist ganz einfach "Projekt mit Gradle synchronisieren"

0
Ananta Prasad
     The above answers are also the ways to fix the error but if does not work for anyone  then i have an option...

Schließen Sie einfach das Projekt und nichts anderes und starten Sie es erneut, damit die Referenzen geladen werden ... Folgen Sie den ScreenShots.

 enter image description here  enter image description here

0
muhammad obaid

Ich hatte das gleiche Problem. Ich habe die meisten der oben genannten Schritte ausprobiert, d. H. Gradle Sync, Cache überprüfen und Neustart, Reinigen und Wiederherstellen des Projekts ... Starten Sie das Android Studio neu und hatten immer noch das gleiche Problem ...

Das Problem für mich hier, und ich gehe davon aus, dass andere das gleiche Problem haben können. Ich hatte Platz auf dem Namen meiner neu erstellten Layoutdatei ... Anstelle von file_example.xml meine/war Datei _example.xml ** (Beachten Sie den Abstand zwischen Datei und _) **, wenn Sie es versuchen Wenn Sie den Verweis auf diese Layoutdatei finden möchten, wird ein Fehler angezeigt.

Ich schlage vor, Sie schauen sich die neueste Layout-Datei an, die Sie gerade erstellt haben, ändern den Namen leicht um und ändern dann Ihr R.layout in die neue Datei in Ihrer Aktivität/Fragment -> Dann wird clean .. rebuild das Projekt fehlerfrei kompiliert. Zumindest in meinem Fall war dies die Lösung für mein Problem.

0
NelsonRoberts

Ich habe einen Fehler "Unable to resolve symbol R" Das R erscheint in der Java-Datei in rot. Ich habe es gelöst.

  1. Speichern Sie keine Bilder mit Großbuchstaben Wie ABC.png . Löschen Sie zunächst das Bild oder benennen Sie es um. 
  2. Projekt reinigen 
  3. Projekt neu erstellen
0
kiran bankar

Berücksichtigen Sie die folgenden IDE -Funktionalitäten:

  • Projekt mit Abstufungsdateien synchronisieren
  • Build -> Projekt reinigen
  • Erstellen -> Projekt neu erstellen
  • Datei -> Cache ungültig machen

Meine einfache Lösung ist:

  1. Stellen Sie sicher, dass in den Abhängigkeiten des build.gradle der App oder in all der Ressourcendateien im /res-Verzeichnis keine Fehlerzeile angezeigt wird. Einige häufig auftretende Fehler liegen vor, wenn die Attributwerte bei Verwendung von: .__ ohne Referenzen verlassen werden.
    • "@ string/.."
    • "@Stil/.."
  2. Stellen Sie sicher, dass Sie keinen Fehler des Typs Android-Ressourcenverknüpfung sind fehlgeschlagen erhalten, wenn das Projekt neu erstellt wird.
  3. Öffnen Sie die Datei, die die Zeile mit dem Fehler Cannot resolve symbol 'R' enthält.
  4. Scrollen zur letzten Zeile der Klasse mit der Fehlerzeile
  5. Klicken Sie auf eine Position rechts neben der schließenden Taste } der Klasse 

Auf diese Weise erscheint der Alert-Dialog IDE, um den Import der R-Klasse durchzuführen.

GL

0
IT Developers