In allen meinen Klassen, auf die ich verweise R.id.something
, R
ist das in rot und es steht "Symbol R kann nicht aufgelöst werden". Außerdem wird es jedes Mal R.layout.something
rot unterstrichen und lautet "Methode setContentView (?) Kann nicht aufgelöst werden". Das Projekt baut immer gut. Es ist ärgerlich, das die ganze Zeit zu sehen. Ich habe hier viele andere Fragen zu etwas Ähnlichem gelesen, aber am meisten zum Importieren von Projekten aus Eclipse. Ich verwende die meiner Meinung nach neueste Version von Android Studio. Das Projekt wurde mit Android Studio erstellt und funktioniert ohne Probleme, bei denen R nicht gelöst werden kann. Ich würde gerne wissen, was dies verursacht, wenn jemand weiß.
android
android-studio
r.java-file
ez4nick
quelle
quelle
Antworten:
Ich hatte dieses Problem auch. Ein einfaches "gradlew clean" und "gradlew build" haben es geschafft.
Klicken Sie auf Erstellen-> Projekt bereinigen, um eine Gradle-Bereinigung durchzuführen
quelle
In den neuesten Versionen von Android Studio funktioniert zumindest für mich Folgendes:
"Tools" -> "Android" -> "Projekt mit Gradle-Dateien synchronisieren"
In Android Studio 3.1.3 (Juli 2018) ist "Projekt mit Gradle-Dateien synchronisieren" in der Hauptmenüleiste verfügbar.
quelle
Ich habe Gradle 3.3.0 verwendet. Es war der Hauptschuldige. Verschwendete 6,50 Stunden aus meinem Leben. Gradle 3.2.1 hat den Fehler behoben.
Problem nach Änderung der Gradle-Version behoben. Details zur Geschichte finden Sie hier .
quelle
3.2.1
war eigentlich die einzige Lösung, die für mich funktioniert hat ...3.2.1
, können Sie Android Studio auch auf die Version aktualisieren3.3
. Siehe meine Antwort hierIch habe ein ähnliches Problem und hier ist, was ich getan habe:
Projekt bereinigen und Projekt mit Gradle synchronisieren,
Überprüfen Sie die buildTools-Version in meinem SDK
Ändern Sie ab Build Gradle (Modul) die minSdkVersion von 8 auf 9
Aber das alles hat nicht geholfen.
Schließlich fand ich die Antwort (dies funktionierte in meinem Fall)
Wechsel von build.gradle (Modul: App)
Oder
Wählen Sie Datei | Änderung der Projektstruktur Build Tools Version auf 21.1.1
quelle
Das ist es.
Zum Beispiel hatte ich einen Eintrag in meinem
strings.xml
:Und in habe
activity_main.xml
ich diesen String-Eintrag verwendetWährend ich mit dem Projekt gearbeitet hatte, habe ich das gelöscht
Und wurde folglich
activity_main.xml
ungültig. Als Ergebnis: kann R nicht auflösen.Überprüfen Sie also Ihre
*.xml
Dateien und bereinigen Sie das Projekt.quelle
Wenn Sie diesen Fehler sehen, nachdem Sie Java-Dateien oder -Verzeichnisse an einen anderen Speicherort verschoben haben, können Sie sicherstellen, dass Android Studio verwirrt ist. Und rate was? Das Rückgängigmachen dieser Aktionen behebt das Problem nicht.
Also versuchst du es sauber, aber das funktioniert nicht.
Und ein Neustart funktioniert auch nicht.
Versuchen Sie jedoch Datei -> Caches ungültig machen / neu starten ... -> Ungültig machen und neu starten
Android Studio verwaltet Informationen darüber, welche Dateien von welchen anderen Dateien abhängig sind. Und da das Verschieben von Dateien nicht korrekt implementiert ist, verursacht das Verschieben von Dateien Fehler. Und das ist noch nicht alles: Caches dieser Abhängigkeiten werden verwendet, um den Build zu beschleunigen.
Dies bedeutet, dass Sie nicht nur neu starten müssen, sondern diese Caches auch ungültig machen müssen, um die Integrität wiederherzustellen (oder genauer gesagt, neu zu erstellen).
quelle
Ich denke, wenn Sie Ihre Aktivitätsdateien in einem anderen Ordner als dem Standardordner ablegen. Sie müssen die Datei
com.example.yourproject.R
(dies ist Ihre ProjektdateiR
NICHTAndroid.R
) in ALLE Aktivitäten importierenR
. Fügen Sie beispielsweise in dieMainActivity
Datei diese Zeile ein:quelle
Es scheint viele Ursachen für dieses Problem zu geben. Kürzlich habe ich eine zu testende Aktivität namens NewActivity hinzugefügt. Dadurch wurde eine Datei mit dem Namen erstellt,
res/menu/new.xml
und gradle mochte diesen Namen nicht, da new ein reserviertes Wort ist.oder
Dies sind definitiv gute Dinge, die Sie ausprobieren sollten, aber möglicherweise müssen Sie einige andere Probleme lösen, bevor Sie diese Befehle ausführen.
quelle
Die R.java-Datei enthält die Verknüpfung zwischen XML- und Java-Seite. "R kann nicht gelöst werden" tritt nur auf, wenn bei einigen Ihrer Ressourcendateien ein Problem vorliegt. Der beste und effektivste Weg ist also, die zuletzt erstellte XML-Datei zu löschen oder in die Res-Datei zu zeichnen. und dann wieder von dort nach Android-Codierungsnormen beginnen. Das ist der einzige Weg. Der effektive und richtige Weg.
Verwenden Sie Git auch für die ordnungsgemäße Verfolgung von Code. ..
quelle
Ihr Code wird nur verschlüsselt. Die Antwort ist ziemlich einfach.
Gehen Sie einfach zu Build -> Clean Project .
Das sollte den Trick machen.
Überprüfen Sie auch Ihre Version von Android Studio.
Ich verwende derzeit Android Studio 3.0.1 .
quelle
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 aktualisierte. Das SDK- Build- Tools-Paket wurde erst nach dem Schließen und erneuten Öffnen des SDK-Managers zur Installation / Aktualisierung angezeigt.
quelle
Bereinigen Sie einfach Ihr Projekt und synchronisieren Sie das Projekt mit Gradle File.
Und das Problem wird gelöst.
quelle
Ich habe das mit gehabt
quelle
Build->Clean Project
Ich hatte vor kurzem dieses Problem und das Clean / Build usw. hat es nicht behoben. Ich vermutete, dass ich irgendwo ein Problem hatte, war mir aber nicht sicher, wo ich es suchen sollte (war es im Manifest, in den Ressourcen-XML-Dateien usw.?).
Wenn etwas nicht stimmt, können Sie durch eine Codeanalyse herausfinden, was es ist.
Wählen Sie im Menü oben:
Analysieren -> Code überprüfen, das gesamte Projekt mit dem Standardprofil scannen.
Ihre Prüfergebnisse enthalten ein Element namens "Android". Hier erhalten Sie eine Liste aller Probleme, die Probleme in Ihren Ressourcen und in der Manifestdatei verursachen. Die Fehler öffnen die generierten XML-Dateien aus Ihrem Build, in denen alle Fehler rot angezeigt werden.
Mein genaues Problem wurde verursacht, weil ich geschmacksbasierte Manifestdateien verwendet habe und versehentlich einige Berechtigungen innerhalb des
<application>
Tags im Geschmack kopiert habe .UPDATE: Ich hatte ein Problem, bei dem Android Studio den Fehler nach dem Fix immer noch anzeigte, obwohl ich jetzt perfekt erstellen und ausführen konnte, während der Fehler noch vorhanden war. (Ich betreibe einen Kanarienvogelbau, also lege ich es vorerst darauf zurück)
quelle
Ich musste mein
R
Paket in Android Studio importieren . Zum Beispiel:import com.example.<package name>.R
quelle
import com.example.old-package-name.R
, so dass ich den Import umbenennen musste.Dies ist eine sehr alte Frage, aber es passiert immer noch viel und es gibt hier keine wirklich umfassende Antwort.
Ich hatte dieses Problem öfter als ich zugeben möchte. Dies kann durch eine Vielzahl von Problemen verursacht werden, die meist alle damit zusammenhängen, dass Ihre Projektstruktur nicht den Erwartungen entspricht. Hier ist eine Liste aller Probleme, die ich hatte:
Das Importieren von Eclipse nach Android Studio funktioniert nicht immer reibungslos, insbesondere bei älteren Versionen von Android Studio. Stellen Sie sicher, dass Sie den richtigen Verzeichnisbaum verwenden. Für eine mäßig ausgereifte App sollte es so aussehen:
In Ihrer IDE sieht es möglicherweise nicht so aus. Über dem Dateibaum befindet sich ein Dropdown-Menü, in dem Ihre Dateien auf unterschiedliche Weise angezeigt werden. Auf meinem System wird standardmäßig ein Dropdown-Menü mit dem Namen Android verwendet, das Ihre Dateien in verschiedene Typen unterteilt. Es ist einfacher, diese Art von Problem über das Projekt zu beheben, und noch einfacher direkt über das Dateisystem Ihres Betriebssystems, da Android Studio Ordner, die nur einen anderen Ordner enthalten, in einer einzigen Zeile zusammenfasst.
Insbesondere wenn Sie jemals 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 entweder in Ihren Gradle-Dateien oder in Ihrer AndroidManifest.xml Fehler auftreten, kann Android Studio Ihre Ressourcendateien nicht ordnungsgemäß erstellen. Gradle-Dateien können manchmal durch ein Upgrade von Android Studio beschädigt werden, insbesondere von den Versionen vor 1.0. Manchmal liegt dies 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. Ab heute, dem 17.07.15, werden meine Apps problemlos kompiliert
com.android.tools.build:gradle:1.2.3
. Dies befindet sich im Abhängigkeitsblock in der äußersten Gradle-Datei.Wenn Ihr AndroidManifest auf eine nicht vorhandene Zeichen- oder Zeichenfolgenressource oder -aktivität verweist, wird es unterbrochen und verursacht diesen Fehler. Manchmal, wenn etwas auf eine nicht vorhandene Zeichen- oder Zeichenfolgenressource verweist, wird dieser Fehler angezeigt.
Wenn Ihre Ressourcen eine beschädigte Datei oder eine ungültige XML-Datei enthalten, wird dieser Fehler angezeigt.
Nach meiner Erfahrung hat Android Studio manchmal ohne Grund nur Probleme, 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 gegenseitig überschreiben, kann dieses Problem auftreten. Beispielsweise können Sie in drawable-mhdpi und drawable-xhdpi denselben Namen haben, da sie sich je nach Zielgerät überschreiben. Wenn Sie jedoch im Layout und im Menü denselben Namen haben, tritt ein Problem auf. Benennen oder löschen Sie eine der Dateien.
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 es 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 verschiedene Möglichkeiten, wie Ihre Gradle-Datei auf eine Version der Build-Tools verweisen kann, 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. Gehen Sie dazu zum Menü Erstellen oben und wählen Sie Projekt bereinigen.
quelle
Gehen Sie einfach zur Android Top-Menüliste. klicken Sie auf Build - Menü, in unter Erstellen klicken Sie auf Projekt neu.
quelle
Dieses Problem trat auf, als ich den Domänenordner meiner App manuell umbenannte. Um dieses Problem zu beheben, musste ich
package
Ordnerstruktur von<manifest>
in einAndroidManifest.xml
.android:name
von<activity>
inAndroidManifest.xml
.Das Problem ist behoben, sobald das Android Studio neu gestartet und der neue Index erstellt wurde.
quelle
Ich hatte das gleiche Problem: Android Studio 3.2 Das Projekt wird kompiliert und läuft einwandfrei, aber auf dem Bildschirm wird die Warnung "Symbol" R kann nicht aufgelöst werden "angezeigt
Hilft nicht :
Hilft:
entweder
in build.gradle
ersetzen mit
oder
Aktualisieren Sie Android Studio auf 3.3
quelle
Ich habe einen Sonderfall für dieses Problem.
In meinem Projekt läuft alles gut, es kann erfolgreich kompiliert und 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 ist es immer rote Linie fallen lassen.
Genau wie dieser:
Das hat mich fast verrückt gemacht, ich kann die gelesene Farbe beim Programmieren nicht ertragen.
Endlich stellte ich fest, dass dieses schwierige Problem durch die Dateigröße meines R.java verursacht wird. Mein Projekt ist sehr umfangreich und unterstützt viele mehrere Sprachen und mehrere Bildschirmgrößen. Es gibt so viele Ressourcen, dass die Dateigröße meines R.java etwa 2,5 Millionen beträgt .
Die maximale Größe einer Datei in Android Studio beträgt in den Standardeinstellungen 2,5 MB, sodass Dateien, die größer als diese Grenze sind, nicht gut aufgelöst werden können. Und Sie können die Standardeinstellungen in "AndroidStudio-root / bin / idea.properties" ändern.
Ändern Sie diese Zeile:
zu:
Dann Android Studio neu starten, die rote Farbe entlassen, kann ich wieder glücklich programmieren.
quelle
Erstellen> 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 aufgerufen. Dieses Problem tritt normalerweise aus dem Nichts auf, wenn es mir passiert. Ich stelle mir also vor, dass nur Android-Studios ausflippen. Haha
Viel Spaß und viel Glück bei Ihren Projekten.
quelle
Führen Sie Folgendes aus: Erstellen> Projekt bereinigen
WICHTIG: Stellen Sie sicher, dass nach dem Bereinigen des Projekts im Nachrichtenbereich keine Fehler auftreten (Alt + 0). Wenn Sie rote Kreise mit Ausrufezeichen finden, müssen Sie diese Fehler in Ihrem Code entfernen.
Meistens hängen diese Fehler mit @ string / oder @ array / zusammen. Projekt wieder reinigen und fertig!
quelle
Ich hatte das gleiche Problem und es passiert, wenn ich ein neues Projekt erstelle.
Was ich tue ist:
Das ist für mich in Ordnung.
quelle
Es fiel mir schwer, das selbst zu beheben.
Es hat bei mir funktioniert, hoffe es funktioniert auch bei Ihnen.
quelle
Ich hatte das gleiche Problem und meistens wird es von gelöst
Aber diesmal blieb der Fehler auch nach all diesen Dingen bestehen und ich fand endlich den Schuldigen.
Das Problem war in einer XML-Datei , in der ich einen normalen Zeichenfolgenwert für einen Ressourcentyp
android:id
anstelle eines ID-Ressourcentyps angegeben habe .FEHLER
KORREKTUR
HINWEIS
In den meisten Fällen zeigt Ihnen der Compiler die Fehlerquelle in der Nachricht an. Versuchen Sie es zuerst zu überprüfen, bevor Sie andere Lösungen versuchen
quelle
`Ich hatte das gleiche Problem und es wurde gelöst durch:
quelle
Diese Notation scheint gut zu funktionieren.
Das Design-Panel von Android Studio scheint nicht gut zu funktionieren.
quelle
Gleiches Problem. Begonnen, als ich einige Bilder in meinen Zeichenordner einfügte und versuchte, darauf zuzugreifen. Auch die hinzugefügten Bilder hatten die Erweiterung mit Großbuchstaben. Das scheint den Build zum Absturz gebracht zu haben, denn selbst wenn ich sie umbenannte, war die Nachricht dieselbe und R war nicht zugänglich. Was ich getan habe ist, in der .iml-Datei habe ich nach dem excludeFolder gesucht und sie entfernt (wie unten):
Danach habe ich das Projekt neu aufgebaut und R ist auf magische Weise wieder aufgetaucht.
quelle
Es gibt viele Ursachen für diesen Fehler.
<Button/>
XML-Datei gelöscht, z. B. a, aber es ist weiterhin in einer Aktivität oder einem Fragment .java deklariert.Der beste Weg, um den Fehler zu verfolgen, besteht darin, ihn ziemlich sauber neu zu erstellen oder mit einem absichtlichen Fehler zu synchronisieren.
Wenn es Ihr Problem nicht löst, muss ein Fehler oder ein Laufzeitfehler vorliegen oder ein Fehler aufgrund einer unsachgemäßen Verwendung von Ressourcen in einer Java- oder XML-Datei in Ihrem Code oder Design auftreten, die gradle zum Stoppen zwingt, weil (R. ) esource file 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 geben wird.
Um den genauen Fehler zu ermitteln, überprüfen Sie die Änderungen, indem Sie die Änderungen in kleinere Module aufteilen.
Beispiel: Wenn Sie eine Liste mit einem Klick auf eine Schaltfläche sichtbar machen und Listenwerte in den Adapter einfügen, prüfen Sie zunächst, ob Sie sie sichtbar machen können oder nicht, und prüfen Sie dann, ob Adapterfehler vorliegen.
quelle
Das war ein großer Kopfschmerz für mich. In meinem Fall trat der Fehler nach der Konfiguration von "Google Play Services" in Android Studio (Installation von + build.gradle config) auf. Dies erfordert wiederum minsdk> 7, aber der Fehler ist sehr unklar (tatsächlich erscheint eine Beschwerde darüber nur als "info"). Wie auch immer ... beim Ändern von minsdk auf 8 sowohl in der Manifestdatei als auch in der Datei build.gradle und beim erneuten Erstellen des Projekts war der Fehler behoben.
Also ... ein allgemeiner Ratschlag, wenn ich verallgemeinern darf - Sie haben wahrscheinlich ein Problem in Ihrer Manifestdatei oder einer anderen Konfigurationsdatei, das einen ordnungsgemäßen Build verhindert. Schauen Sie sich den Fehlerbericht genau an, auch die Nachrichten mit dem Titel "info", um Hinweise darauf zu erhalten, was es sein könnte ...
quelle