In jedem Projekt, das ich in Android Studio erstellt habe, werden alle Verwendungen von R rot mit der Fehlermeldung "Symbol R kann nicht aufgelöst werden" markiert, aber die Kompilierung ist erfolgreich und die Anwendung wird ausgeführt. Dies ist wirklich ärgerlich, da es die automatische Vervollständigung blockiert und überall in meinem Code riesige rote Wellenlinien anzeigt.
Ich verwende Android Studio 1.7.0 und erstelle das Projekt mit den Standardeinstellungen. Ein Screenshot ist beigefügt:
Das ist mein build.gradle
:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4'
}
}
apply plugin: 'android'
dependencies {
compile files('libs/android-support-v4.jar')
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 7
targetSdkVersion 16
}
}
So sieht die Projektstruktur aus:
Irgendeine Idee, wie man das behebt?
android
gradle
android-studio
Ilya Kogan
quelle
quelle
Antworten:
Klicken Sie einfach auf Build -> in Ihrem Android Studio Option Projekt neu erstellen .
quelle
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">
Überprüfen Sie diese Zeilen in XML-Dateien und korrigieren Sie sie.Ich habe festgestellt, dass dieses Problem durch Fehler in meinen XML-Dateien verursacht wurde. Sobald Sie die XML-Fehler behoben haben, führen Sie eine Bereinigung / Erstellung durch, um das Problem zu beheben.
quelle
Klicken Sie auf
Build -> Rebuild Project
und dann aufTools -> Android -> Sync Project with Gradle Files
.quelle
clean
hat allesR
zu Fehlern gemacht, jeder hat esbuild
behoben, aber natürlich "reinigt" das Projekt. Nachdem ich dieser Antwort gefolgt war, konnte ich das Projekt endlich bereinigen, ohne Fehler zu bekommen.Stellen Sie sicher, dass
AndroidManifest.xml
der Paketname korrekt ist. Das hat das Problem für mich behoben, als meinR.whatever
rot markiert war!Ich würde auch empfehlen, alle Ihre
gradle
Dateien zu überprüfen , um sicherzustellen, dass diese Paketnamen korrekt sind. Das sollte nicht alles rot machen, aber es verhindert, dass Ihregradle
Dateien richtig synchronisiert werden.quelle
NICHTS TUN . Aktualisieren Sie einfach Android Studio. Löse mein Problem! Perfekt arbeiten.
quelle
Ich hatte ein ähnliches Problem mit 'com.android.tools.build:gradle:3.3.1', ich habe alle oben genannten Lösungen ausprobiert, nichts hat funktioniert. Es wurde tatsächlich gebaut: Gradle 3.3.1 Ausgabe. Ich habe es auf 3.2.1 geändert, dann hat es funktioniert.
Es kann also ein Problem mit der Version build: gradle geben.
quelle
Sie sollten jetzt den Ordner "MyAppProject / MyApp / build / source" sehen. Dies sollte den Ordner "r" enthalten (in dem die R.java-Datei generiert wird). Hier sollte entweder "debug" oder "release" in blau angezeigt werden (wenn Sie ein projectFlavour in Ihrem build.gradle haben, befinden sich diese im Ordner ""). In diesem Debug- / Release-Ordner sollte sich der Paketname Ihrer App und dann eine R.java-Datei befinden, die alle Ihre Ressourcen-IDs enthält.
quelle
Wenn beides nicht funktioniert, überprüfen Sie alle Ihre XML-Dateien. Dieser Fehler tritt auf, wenn Ihre XML-Datei falsch ist.
quelle
Aus bestimmten Gründen verwendet Android Studio unterschiedliche Konfigurationen für den Editor und den Compiler. Wenn es für den Compiler funktioniert, ist es gut. Wenn es für den Editor nicht funktioniert. (Es sieht ungelöste Dateien).
Sie müssen der Quelle Ihres Projekts einige Verzeichnisse hinzufügen. Zum Beispiel sollten alle Ressourcen als "Quelle" markiert sein.
Datei-> Projektstruktur
Wählen Sie "Module" und dann Ihr Projekt. Und wählen Sie die
sources
Registerkarte. Suchen Sie rechts Ihr Ressourcenverzeichnis und klicken Sie auf die blaue Schaltfläche "Quelle". Schließen Sie alle und es sollte funktionieren.Außerdem müssen Sie dies sicherstellen
build/source/r/debug
ist auch eine Quelle. In habe ich alle meinebuild/source/*/debug
als Quelle markiert.Hauptmodul .iml
Projekt iml
Schwarze Magie
Ich bin mir nicht sicher, aber ich habe gehört, dass es funktioniert, obwohl ich mir ziemlich sicher bin, dass es nichts ändern sollte. Versuchen Sie, das Projekt zu kompilieren und zu speichern, nachdem Sie alle erforderlichen Zeilen kommentiert haben
R
. Dann, wenn nicht alles rot ist. Versuchen Sie, sie wieder hinzuzufügen. Das Seltsame ist, dass Ihr Build / Ihre Quelle nicht generiert wird.Auch diese Frage schlägt vor, zu überprüfen, ob der Compiler einen externen Build verwendet.
Android Studio generiert kein R.java für mein Importprojekt
Randnotiz
Stellen Sie außerdem sicher, dass in Ihrem Java-Code keine vorhanden ist.
import android.r;
Nach dem, was Sie gezeigt haben, scheint alles in Ordnung zu sein. Nur seltsam, dass der Build / die Quelle nicht erstellt wird. Zum Beispiel habe ich kein build / apk. Möglicherweise befinden Sie sich im Release-Modus und diese Verzeichnisse werden nicht erstellt.quelle
res
Ordner als "Quelle" markiert, und ich habe keinbuild/source
Verzeichnis. Soll ich es erstellen lassen? Wenn das so ist, wie?build/rebuil project
. Wenn Sie gradle über die Befehlszeile ausführen können, werden möglicherweise einige Fehler ausgegeben, die im Editor nicht angezeigt werden.Hier ist meine vorübergehende Lösung, bis ich eine bessere finde:
Finden Sie mit Everything heraus, wo R.java erstellt wurde. In meinem Fall war es
C:\Program Files (x86)\Android\android-studio\system\compiler\<project-name>.cb969c52\.generated\aapt\<module-name>.6badd9a4\production\com\<project-name>\<module-name>
Klicken Sie in der Projektansicht auf das Modul und drücken Sie F4. Ignorieren Sie die Warnung.
Klicken Sie auf "+ Inhaltsstamm hinzufügen" und wählen Sie den oben genannten Ordner aus. Stellen Sie sicher, dass es blau markiert ist (als Quelle).
Nachdem ich das getan habe, sind plötzlich alle Warnungen weg. Das Problem ist, dass bei der Zusammenarbeit mit anderen Personen der Ordnername auf jedem Computer unterschiedlich ist. Seien Sie daher beim Synchronisieren vorsichtig.
quelle
Das hat bei mir funktioniert:
Projekt schließen und erneut öffnen
Drücken Sie auf "Projekt mit Gradle-Datei synchronisieren" (befindet sich neben dem AVD-Manager-Symbol im oberen Menü) und wiederholen Sie 1-2, wenn Gradle zum ersten Mal nicht synchronisieren konnte. (meins hat beim zweiten mal gearbeitet).
Arbeitete mit Android Studio 1.2.2
quelle
Ich habe es gelöst durch:
quelle
Gehen Sie einfach zur Android Top-Menüliste. klicken Sie auf Build - Menü, in unter Erstellen klicken Sie auf Projekt neu .
quelle
Manchmal werden diese Build-Fehler aus dem Nichts fortgesetzt. Wenn Ihnen dies passiert, versuchen Sie Folgendes:
Überprüfen Sie die Gültigkeit des XML in Ihren Ressourcendateien erneut: Wenn Ihre R.java-Datei nicht für den letzten Build generiert wurde, werden Fehler in Ihrem Projekt angezeigt, wo immer Sie auf eine Ressource verweisen. Dies kann durch einen Tippfehler in einer Ihrer XML-Dateien verursacht werden. Layout-XML wird nicht immer validiert, sodass Tippfehler in diesen Dateien möglicherweise nicht ausdrücklich auf Sie aufmerksam gemacht werden. Wenn Sie den Tippfehler finden und die Datei speichern, wird R.java neu generiert.
Reinigen Sie Ihr Projekt!
Select Build → Clean Project
Dadurch wird das Projekt von Grund auf neu erstellt, was zu einer fehlerfreien Erstellung führen kann.Synchronisieren Sie Ihr Projekt mit Gradle!
Select Tools → Android → Sync Project with Gradle Files
Android Studio erstellt das Projekt mit den richtigen Projekteinstellungen von Grund auf neu. Dies kann dazu beitragen, Probleme nach dem Ändern Ihrer Gradle-Konfiguration zu beheben.Führen Sie Android Lint aus! Lint kann Ihnen gute Informationen zu einem Problem geben. Wenn das oben genannte nicht funktioniert, werden Sie hier höchstwahrscheinlich Ihr Problem finden.
select Analyze → Inspect Code → select Whole project → OK
Analysieren Sie Lint-Vorschläge sorgfältig, um Lintauszuführen. Beginnen Sie mit Fehlern und dann mit Warnungen.Viel Glück.
quelle
Dieser Fehler tritt bei mir auf, weil meine Datei activity_main.xml eine ungültige Eingabe enthält.
Wenn Sie versuchen, Ihr Projekt zu erstellen oder zu bereinigen , werden Fehlermeldungen angezeigt .
Ich habe meine Fehler behoben, indem ich diese Fehlermeldungen gelesen und korrigiert habe, was in meiner XML-Datei nicht stimmt. dann Projekt neu erstellen .
quelle
Ich hatte diesen Fehler vor ein paar Tagen und habe versucht, mich umzuschauen, bis ich mich entschied, Android Studio neu zu installieren. Es hat bei mir funktioniert.
quelle
Wenn Sie ein Projekt aus einem Beispiel erstellen, ohne das vorhandene Projekt zu importieren, ist dies gut (verhindert Konflikte mit gradle, .idea, .iml, build, jars und apks, dh allen unnötigen vom Build generierten Dateien), nachdem Sie ein neues Projekt erstellt und kopiert haben und das Einfügen aller relevanten Ressourcen würde ich empfehlen:
Überprüfen von Paketen und Importen aus Paketen innerhalb des Projekts {AndroidManifest-Deklaration und alle Importe in Java-Klassen}, aller Ressourcen (Drawable, Mip-Map, Layouts und Menüs sowie Ihres build.gradle (ein Beispiel für build.gradle zur Verwendung mit dem neuesten SDK) kann auf Anfrage bereitgestellt werden)) um zu sehen, ob sie vorhanden sind und ob deklarierte Zeichenfolgen und IDs tatsächlich vorhanden sind und verwendet wurden. Danach sollte Ihr einziger Fehler die gestellte Frage sein:
Bulid-> Clean Project
Extras-> Android-> Projekt mit Gradle-Dateien synchronisieren
Datei-> Caches ungültig machen und neu starten
Im schlimmsten Fall hilft ein Neustart Ihres Computers.
Das obige sollte funktionieren. Fühlen Sie sich frei, bei Bedarf Fragen zu stellen, dh Kommentare zu posten.
quelle
Dies führt hauptsächlich zu Fehlern in der XML-Datei. Überprüfen Sie Ihre neuesten XML-Änderungen und erstellen Sie sie neu. Das gleiche Problem tritt bei mir auf.
quelle
Ich hatte einen Fehler beim Wiederverwenden beim Kopieren / Einfügen in der Paketdeklaration für das Manifest
Der Name der Hauptaktivität hatte den richtigen Pfad, sodass das Manifest keine überprüften Fehler aufwies.
Nach dem Beheben dieses Problems wurden in der Quelldatei immer noch Fehler angezeigt, obwohl die Erstellung erfolgreich war. Ich habe gerade die App ausgeführt und dann die Quellfehleranzeigen gelöscht.
quelle
Es hat auch bei mir funktioniert, indem ich den Ordner .idea / library manuell bereinigt und anschließend auf "Projekt mit Gradle-Dateien synchronisieren" geklickt habe, um das Problem zu lösen. Anscheinend entfernt diese Synchronisierung keine Elemente, sondern behält die alten bei und fügt die aktuellen hinzu. Wahrscheinlich ein Fehler zu melden :)
quelle
Hatte das gleiche Problem mit Android Studio, fand ich heraus, dass Build / Generated / Source / R nur Release-Ordner und nicht Debug enthalten. Aus irgendeinem Grund hat der Debug-Build keine verwendbare R-Klasse generiert.
Ich habe es gelöst, indem ich die Projekt-IML-Datei geöffnet und diese Zeile repariert habe
zu
Mit Gradle neu synchronisiert, Zeilen mit R auskommentiert, Debug ausführen, um das R zu generieren, nicht kommentierte Zeilen mit R ausführen und das Debug erneut ausführen, behoben.
quelle
Die Lösung ist einfach:
Gehen Sie zu
File > Project Structure > app
und wählen Sie dieFlavours
Registerkarte, wählen SieAPI 21: Android 5.0 (Lollipop)
in der Dropdown-Liste fürMin Sdk Version
.quelle
In meinem Fall folgte ich allen Antworten, die ich auf Stackoverflow finden konnte, und keine von ihnen schien dieses Problem zu lösen. Alle Antworten würden auf eine mögliche Beschädigung der XML-Datei oder einen Konflikt mit Gradle-Namen hinweisen. In einigen Antworten wurde behauptet, dass das Projekt bereinigt oder das Projekt mit Gradle-Dateien synchronisiert werden müsste. Keine dieser Lösungen würde das Problem lösen. Nachdem ich einem Tutorial zum Erstellen einer Hello World-App gefolgt war und nur die Fenster des Android Studio-Assistenten ohne jegliche Codierung befolgt hatte, war es nicht sinnvoll zu vermuten, dass es sich um einen Tippfehler handelte.
TLDR
Das Problem stellte sich als Build Tools-Version heraus. Mein wurde auf 23.0.0 rc1 gesetzt , also habe ich es auf 22.0.1 geändert . Ich nehme an, das lag daran, dass ich die letzte verfügbare Version von Android Available verwende.
Um diesen Wert zu ändern, können Sie Ihren Projektbrowser im linken Fenster öffnen> mit der rechten Maustaste auf "App> Moduleinstellung öffnen" klicken und auf der Registerkarte "Eigenschaften" danach suchen.
quelle
Sie müssen Ihre Projekt-R-Datei IMPORTIEREN
quelle
Das Reinigen des Projekts hat in meinem Fall geholfen
Gehe zu
quelle
Wenn Sie diesen Fehler erhalten, bereinigen Sie Ihr Projekt.
Der Grund dafür ist, dass durch Bereinigen Ihrer vorherigen
.apk
Datei, die in Ihrem Android Studio-Projektordner auf Ihrem System vorhanden ist, gelöscht wird.quelle
Kürzlich habe ich mein Projekt in Android Studio importiert. Ein Teil von R ist rot markiert mit der Fehlermeldung "Symbol R kann nicht aufgelöst werden", aber die Kompilierung ist erfolgreich und die Anwendung wird ausgeführt.
Entwicklung entwickeln:
Lösung:
Schritt 1:
Suchen Sie die Konfigurationsdatei für Android Studio.
Mein Pfad:
Schritt 2:
2500 ändern:
bis 5000 oder mehr:
quelle
Sie müssen den Pfad ändern:
beispielsweise
import it.example.project.myproject.R;
verändern in
import it.example.project.R;
quelle
Ich bin auf den gleichen Fehler gestoßen, es stellte sich heraus, dass die Manifestdatei einige Fehler hatte. Nachdem Sie das Problem behoben hatten, klickten Sie erneut auf Projekt erstellen. Es funktionierte einwandfrei. Android Studio gibt manchmal keine sehr hilfreichen Fehlermeldungen.
quelle
Hin und wieder wird mir das gebissen, und es gibt noch etwas zu versuchen: Passen Sie Ihre compileSdk- und buildSdk-Versionen an die neuesten verfügbaren Versionen an.
Ich hatte meine compileSdkVersion von 21 auf 19 geändert, weil der Android Studio-Debugger (1.1 Canary Channel) nicht ordnungsgemäß in vorgefertigten Bibliotheken nachverfolgt wurde. Ich stellte fest, dass es sich anscheinend um eine Ablaufverfolgung basierend auf der buildToolsVersion (19.1.0) handelte, die ich durch Klicken auf einen Fehler in der Stapelverfolgung (und anschließende Auswahl von 19 anstelle von 21) überprüft habe. Obwohl ich es direkt in der Datei build.gradle geändert habe, finden Sie hier eine grafische Anleitung: https://www.blogger.com/comment.g?blogID=4722727826918942842&postID=3875998513888772255 und ich fasse zusammen:
Bestätigen Sie, und das Projekt sollte automatisch ordnungsgemäß synchronisiert werden.
Die Lehre, die ich daraus ziehen kann, ist, dass beide gleich sein sollten.
quelle