“R kann nicht in eine Variable aufgelöst werden”? [duplicate]
Lesezeit: 6 Minuten
Roger
In Eclipse habe ich ein Projekt aus einer Quelle erstellt und jetzt zeigt es Fehler an – “R kann nicht in eine Variable aufgelöst werden”. Nach dem, was ich hier gefunden habe, hatte ich das Projekt gelöscht und neu erstellt, aber die R-Datei wird immer noch nicht im /gen-Ordner angezeigt.
Irgendwelche Ideen?
Bevor Sie etwas tun, überprüfen Sie die Hintergrundprozesse in Eclipse. Sie erhalten diese Meldung, wenn der Arbeitsbereich noch erstellt wird. Dies ist besonders relevant für diejenigen von uns, die auf weniger leistungsstarken Computern entwickeln.
– Stefan
16. Oktober 2012 um 18:24 Uhr
Wenn Ihr XML nicht korrekt ist, wird die R-Datei nach einem Build nicht generiert.
– Pramod Setlur
6. März 2013 um 11:08 Uhr
Ich habe Prozesse überprüft. Tatsächlich verwende ich keine Hintergrundkompilierung, um Asych-Fälle zu vermeiden, habe aber immer noch das gleiche Problem.
– Kostadin
16. Mai 2013 um 12:38 Uhr
Manchmal kann dieses Problem auftreten, wenn Sie die SDK-Build-Tools nicht in Android installiert haben
– Sachini Samarasinghe
22. November 2013 um 6:56 Uhr
Horrorgoogle
Mach dir keine Sorge. Zuerst können Sie das Projekt bereinigen und dann das Projekt ausführen. Wenn dies nicht funktioniert, folgen Sie den folgenden Links:
Hier ist der beste Weg, um dieses Problem zu lösen: [Android Development- Where is my R.Java file?][2]
Ja dank! Anscheinend gab es auch einen Fehler in den XML-Dateien, nachdem ich das behoben hatte, funktionierte clean/build! 🙂
– Roger
19. Oktober 2011 um 17:08 Uhr
Es macht Spaß, die zu finden, oder? 🙂 Wenn Sie nicht bekommen können R.java um überhaupt zu bauen, ist es normalerweise ein Tippfehler oder ein anderes Problem in einer XML-Layoutdatei. Die Verwendung eines Großbuchstabens in Ihren XML-Dateinamen führt ebenfalls zu diesem Problem. Wenn R.java existiert, aber darin enthaltene Variablen werden nicht von nur einer Java-Datei erkannt, achten Sie beispielsweise darauf, ob sich diese Datei im selben Paket befindet wie R.java– wenn nicht, deshalb R.id.* ist außerhalb des Geltungsbereichs.
– hotshot309
4. Januar 2012 um 2:19 Uhr
Sie sollten die Antwort der Antwort hinzufügen und keine Links an anderer Stelle, da diese Links möglicherweise sterben.
– Jonny
4. Dezember 2012 um 4:22 Uhr
Wenn Sie Ihren Paket- oder Aktivitätsnamen ändern, löschen Sie die Ordner im Ordner „gen“ oder benennen Sie die Pakete im Ordner „gen“ um und bereinigen Sie das Projekt.
– Lukas Snowden
28. März 2013 um 9:11 Uhr
Ich habe einen Fehler in meinem Layout-XML wie folgt gefunden: android:id=”@id/”
– oder
18. Juni 2013 um 6:48 Uhr
robbycandra
Wenn Clean/Rebuild Project nicht funktioniert, versuchen Sie, unseren Paketnamen in AndroidManifest.xml zu überprüfen.
Das Problem „R kann nicht aufgelöst werden“ tritt auf, wenn Sie Ihren Paketnamen in der Datei „AndroidManifest.xml“ ändern. Es verwendet Ihren Android-Paketnamen, um ein Unterverzeichnis unter dem „gen“-Verzeichnis zu erstellen, in dem es die R.java-Datei speichert.
Ich habe den Paketnamen im Quellordner geändert, im XML-Manifest war es korrekt, aber nicht auf dem “Startbildschirm” des Manifests. Vielen Dank
– Gäburder
9. November 2013 um 12:55 Uhr
Wenn Sie den Paketnamen in der XML-Datei ändern, müssen Sie die R-Datei erneut aus dem neuen Paket importieren
– Oded Regev
17. April 2014 um 15:37 Uhr
Bei mir wurde der Fehler durch einige Änderungen im Android SDK Manager behoben.
Unabhängig von der neuesten verfügbaren API-Ebene installieren Sie die „SDK-Plattform“. Für mich war das neueste verfügbare API-Level 16, also habe ich die SDK-Plattform wie im Bild unten gezeigt installiert. Es funktioniert jetzt gut.
Tschüss Mayank
macio.Jun
Haben Sie gerade sowohl sdk als auch adt (von 21 auf 22) aktualisiert, müssen Sie ein neues Element installieren: Android SDK Build-Tools
Siehe: Eclipse gibt Fehler, fehlende R.java-Datei nach letztem Update
Bei mir irgendwie die Projekteigenschaften; Android; Das Projekterstellungsziel wurde nicht festgelegt. Ich habe dort eine Android-Version (z. B. 4.2) ausgewählt und es wurde behoben.
Dies scheint ein ziemliches Problem zu sein, wenn Sie Code von einem Drittanbieter erhalten und dieser Ihnen die API-Ebene nicht mitteilt. Alle, bei denen dieses Problem auftritt, möchte ich bitten, zu überprüfen, ob die API-Ebene für den Code geeignet ist. Wenn die API-Ebene nicht korrekt ist, müssen Sie das Project Build Target auf die richtige API-Ebene ändern und eine Projektbereinigung durchführen.
– Exil
14. Juni 2013 um 10:24 Uhr
Falls Sie ein Projekt von einem früheren Android-Projekt-Build-Ziel in eine Umgebung mit den neuesten Build-Tools importieren, wird Ihr Projektziel durch den Import auf das frühere gesetzt. Die Auswahl von Project Build auf die neueste Android-Version, die auf Ihrer Entwicklungsumgebung verfügbar ist, löst das Problem. Beispiel: Für mich wurde das Erstellungsziel des Importprojekts auf Android 4.4.2 festgelegt. Dies gab den Fehler. Ich habe es auf Android 5.0.1 geändert und der Fehler wurde behoben.
– Dexter
22. Januar 2015 um 6:36 Uhr
Android-Entwickler
Für mich wäre die beste Lösung, die ich Leuten vorschlagen könnte, die Probleme mit der “R” -Datei haben, die nächsten Schritte auszuprobieren (Reihenfolge spielt keine Rolle):
Aktualisieren Sie ADT & SDK, Eclipse und Java.
entfernen Sie den Gen-Ordner und erstellen Sie ihn erneut.
Mach ein Clean-Projekt.
Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie android-tools -> fix-project-properties .
Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie Eigenschaften -> Java-Build-Pfad -> Bestellen und Exportieren. Stellen Sie sicher, dass die Reihenfolge ist:
Android 4.3 (immer die neuste Version)
Private Android-Bibliotheken
Android-Abhängigkeiten
Ihre Bibliotheksprojekte, falls erforderlich
yourAppProject/gen
yourAppProject/src
Stellen Sie sicher, dass alle Dateien in den Unterordnern des res-Ordners Namen haben, die in Ordnung sind: nur Kleinbuchstaben, Ziffern und Unterstrich (“_”) .
Stellen Sie immer sicher, dass das targetSdk auf die neueste API (derzeit 18) verweist, und legen Sie es in der Datei project.properties fest
Dies scheint ein ziemliches Problem zu sein, wenn Sie Code von einem Drittanbieter erhalten und dieser Ihnen die API-Ebene nicht mitteilt. Alle, bei denen dieses Problem auftritt, möchte ich bitten, zu überprüfen, ob die API-Ebene für den Code geeignet ist. Wenn die API-Ebene nicht korrekt ist, müssen Sie das Project Build Target auf die richtige API-Ebene ändern und eine Projektbereinigung durchführen.
– Exil
14. Juni 2013 um 10:24 Uhr
Falls Sie ein Projekt von einem früheren Android-Projekt-Build-Ziel in eine Umgebung mit den neuesten Build-Tools importieren, wird Ihr Projektziel durch den Import auf das frühere gesetzt. Die Auswahl von Project Build auf die neueste Android-Version, die auf Ihrer Entwicklungsumgebung verfügbar ist, löst das Problem. Beispiel: Für mich wurde das Erstellungsziel des Importprojekts auf Android 4.4.2 festgelegt. Dies gab den Fehler. Ich habe es auf Android 5.0.1 geändert und der Fehler wurde behoben.
– Dexter
22. Januar 2015 um 6:36 Uhr
matte Verbrennungen
Bei mir fehlte am Ende meines SDKs ein Schrägstrich. In Eclipse > Einstellungen > Android > SDK-Speicherort
Zum Beispiel ändern
/home/matt/android-sdk-linux
zu
/home/matt/android-sdk-linux/
9649500cookie-check“R kann nicht in eine Variable aufgelöst werden”? [duplicate]yes
Bevor Sie etwas tun, überprüfen Sie die Hintergrundprozesse in Eclipse. Sie erhalten diese Meldung, wenn der Arbeitsbereich noch erstellt wird. Dies ist besonders relevant für diejenigen von uns, die auf weniger leistungsstarken Computern entwickeln.
– Stefan
16. Oktober 2012 um 18:24 Uhr
Wenn Ihr XML nicht korrekt ist, wird die R-Datei nach einem Build nicht generiert.
– Pramod Setlur
6. März 2013 um 11:08 Uhr
Ich habe Prozesse überprüft. Tatsächlich verwende ich keine Hintergrundkompilierung, um Asych-Fälle zu vermeiden, habe aber immer noch das gleiche Problem.
– Kostadin
16. Mai 2013 um 12:38 Uhr
Manchmal kann dieses Problem auftreten, wenn Sie die SDK-Build-Tools nicht in Android installiert haben
– Sachini Samarasinghe
22. November 2013 um 6:56 Uhr