1128 Stimmen

R kann nicht aufgelöst werden - Android-Fehler

Ich habe gerade das neue Android SDK heruntergeladen und installiert. Ich wollte eine einfache Anwendung erstellen, um sie zu testen.

Der Assistent hat diesen Code erstellt:

package eu.mauriziopz.gps;

import android.app.Activity;
import android.os.Bundle;

public class ggps extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

sondern Eclipse gibt mir die Fehlermeldung

R kann nicht aufgelöst werden

im Netz

setContentView(R.layout.main);

Warum?

PS: Ich habe eine XML-Datei mit dem Namen main.xml unter res/layout/ .

851voto

Michael Levy Punkte 12887

Nachdem ich auch dieses Problem aufgespürt hatte, fand ich diesen Hinweis in der Android-Dokumentation:

http://source.Android.com/source/using-eclipse.html

*Hinweis: Eclipse fügt manchmal gerne eine "import Android.R"-Anweisung an den Anfang der Dateien, die am Anfang Ihrer Dateien, die Ressourcen verwenden, besonders wenn Sie Eclipse bitten sortiert oder anderweitig verwaltet. Diese führt dazu, dass Ihre machen. zu brechen. Siehe auf diese fehlerhaften Import Anweisungen und löschen Sie sie.*

Während ich die Android-Beispiel-Tutorials durchging, verwendete ich oft die Ctrl + Shift + O Befehl "Importe organisieren" und generieren Sie alle fehlenden Importanweisungen. Manchmal wurde dadurch die falsche Importanweisung erzeugt, die die R.java Klasse, die beim Erstellen automatisch generiert wird.

397voto

Luc Punkte 15844

Jedes Mal, wenn ich das Problem hatte, dass R nicht generiert wurde oder sogar verschwand, war dies auf ein Problem in der XML-Layoutdatei zurückzuführen, das die Erstellung der Anwendung verhinderte.

204voto

Vasu Punkte 4832

Wann immer Sie eine

R kann nicht aufgelöst werden

dann prüfen Sie, ob die /res und es muss eine Datei geben, die einen Fehler enthält und verhindert, dass die Anwendung erstellt wird. Es kann sich zum Beispiel um eine Layout-Datei handeln oder um eine fehlende Ressource, die Sie aber bereits in der XML-Datei definiert haben.

Wenn Sie zusätzliche, sogar unbenutzte (!) oder nicht referenzierte (!) Bilder in einem Ordner wie res/drawables-mdpi haben, die nicht den Dateinamenskonventionen entsprechen (dürfen nur [a-z0-9_.] enthalten), wird die Klasse R.java möglicherweise nicht generiert, was zu der Kette von Ereignissen führt, auf die sich alle anderen Beiträge beziehen. Ich hoffe, das hilft!

138voto

Dimitar Dimitrov Punkte 15634

mein Projekt haben eine r.java.at der Anfang, R.layout.main Arbeit gut.Aber, nach dem Hinzufügen von einigen Code es nicht funktioniert, und der Fehler ist R.layout.main kann nicht aufgelöst.was ist das Problem?

Sehen Sie sich Ihre Einfuhren an. Die Chancen stehen gut, dass die Linie:

import android.R;

wird dort sein. Wenn das der Fall ist, entfernen Sie es, damit Ihr Projekt R nicht mit der Standard-Android-Ressourcen-Klasse auflöst, sondern mit der automatisch generierten Klasse aus dem Ordner /res/.

97voto

Michał Klimczak Punkte 11902

Und noch etwas kann dieses Problem verursachen:

Ich habe das neue ADT (v. 22) installiert. Es erstellt keine gen Ordner, der Folgendes enthält R.java . Die Lösung war, auch neue Android SDK Build Tools von Android SDK Manager zu installieren.

Lösung gefunden ici

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X