2011-01-06 3 views
14

Ich habe einige Quellcodes aus Google-Quellcodes heruntergeladen.Wie erstelle ich R.java

Ich führte sie auf Eclipse aber R.java Datei ist nicht erstellt und daher habe ich viele Fehler, dass R kann nicht gelöst werden. Es gibt keine main.xml im Layout zu. Einige andere XML-Dateien sind dort. Wie kann ich diese Programme ausführen?

+3

Es gibt viele ähnliche Fragen zu Stackoverflow. Bitte führen Sie eine Suche durch und lesen Sie die grundlegende Dokumentation durch. Keine Main.xml ist nicht erforderlich. http://stackoverflow.com/questions/4516428/r-java-auto-generated-file http://stackoverflow.com/questions/2757107/developing-for-android-in-eclipse-r-java-not-generating –

+1

FWIW, keine dieser Fragen wurde vollständig richtig beantwortet. Eclipse kann sich selbst in einen Zustand versetzen, in dem es keine R.java-Datei erzeugt. In der Tat wurde meine R.java * durch die von den Leuten dort vorgeschlagene Projekt-> Säuberungsaktion * entfernt. –

+0

Ja, clean wird R.java entfernen, aber beim nächsten Build wird es neu erstellt. Wenn dies nicht der Fall ist, versuchen Sie vielleicht, Eclipse zu verlassen und dann wieder einzusteigen. manchmal wird Eclipse verwirrt. –

Antwort

7

Angenommen, Sie haben Android SDK. Wenn du .. hast, reinige das Projekt. R.java wird automatisch generiert.

+3

Durch das Bereinigen des Projekts wird die R.java-Datei aus dem Projekt gelöscht. – Navigatron

+0

@Nuktus In der Theorie ja. So soll es sein. In der Praxis (Eclipse) sehen Sie möglicherweise, dass die R.Java nach der Bereinigung noch vorhanden ist. Am schlimmsten ist, manchmal die Import-Anweisung in den Klassen, zeigen auf falsche R.Java (zB aus dem Bibliotheksprojekt) – GSree

+0

Das ist wahrscheinlich, weil Sie Autocompile aktiviert haben. Sie putzen alles, dann autokompiliert es neu. –

0

Wenn Ihre Datei build.xml das Ziel "-resource-src" enthält (was Sie tun, wenn Sie $ SDK_DIR/tools/main_rules.xml oder lib_rules.xml einschließen), können Sie es mit ant neu erstellen.

1

Nach ein paar Stunden Frustration habe ich mich entschieden, die roten Markierungen aus der Datei zu entfernen, wo die R.java nicht aufgelöst werden konnte, da sie in meinem Code nicht verfügbar war. Nachdem die erste rote Linie aus meiner Aktivitätsdatei entfernt wurde, erstellt das Projekt automatisch das R.java und erzeugt es.

Das ist etwas wirklich verdammtes Ding für mich, wie es ohne Grund geht und kam mit der gleichen Sache zurück.

Hope this helfen Ihnen

Mit freundlichen Grüßen, Summved

15

Solange Sie ein gültiges Android-Projekt haben, können Sie verwenden, um die aapt package R.java von Ressourcen zu generieren. Hier ist Beispiel für die Verwendung (alles in einer Zeile sein soll):

aapt package --non-constant-id -f -m -M <abs_path_to_AndroidManifest.xml> 
    -S <abs_path_to_res_dir> -I <abs_path_to_platforms_android.jar> 
    -J <abs_path_to_dir_that_should_contain_gen_R_java) 
    --generate-dependencies 

Der oben kann unter Verwendung des aapt Ziels oder einfach durch Verwendung eines exec Zielskript mit ANT gemacht werden.

+1

Komisch - einmal so erzeugt, seitdem funktioniert es auch in Eclipse. Und ja, ich weiß, ich sollte Android Studio verwenden, aber ich will nicht ... –

3

Hallo Ich habe gerade das gleiche Problem konfrontiert. Die Datei R.java wird gelöscht und jedes Mal neu erstellt, wenn Sie das Projekt bereinigen. In meinem Fall gab es einige Fehler in einer .xml Datei und es wurde keine R.java generiert. Wenn Sie Main.xml nicht hatten, könnte das der Grund sein. Wie auch immer, wenn Sie .xml-Probleme beheben, sollte R.java generiert werden.

0

Für zukünftige Leser, starten Sie ADB neu und säubern Sie dann.

2
  • öffnen Android SDK Manager
  • Tick Tools, dass es 3 Pakete von Android SDK-Tools, löschen und installieren Sie sie erneut.
  • Wenn sie fertig sind, aktualisieren Sie bitte Ihr Projekt in Package Explorer.

Sie BuildConfig.java und R.java in /gen

sehen Ich glaube, Sie wollen, damit ich diesen Kommentar empfehlen

mit Ihrem Gebäude App genießen.

+0

Um genau zu sein, ist Aadt Teil von "Android SDK Build-Tools". Ältere SDKs lieferten es im Paket "SDK-Plattform" pro API. – Tobu

0

Korrigieren Sie alle Fehler in den Xml-Layouts, wenn die Fehler nur in der ID-Attribut ist, ändern Sie den anderen Namen und speichern Sie, dann geben Sie die ursprünglichen Werte ein, diese Lösung funktioniert für mich.

0

Ich habe dieses Problem nach dem Hinzufügen einer JPG-Datei mit einem numerischen Dateinamen in meinem Zeichnungsordner festgestellt.Ich habe einen Kompilierungsfehler erhalten, "erwartet on line y", wenn ich versuche, das Projekt nach der Reinigung neu zu erstellen. Vielleicht möchten Sie prüfen, ob Sie ein ähnliches Problem haben. Obwohl ich dies bei der Verwendung von Android Studio festgestellt habe, bin ich mir sicher, dass dies auch für Eclipse gelten würde.

0

Reinigen Sie das Projekt, löschen Sie das R.java und regenerieren Sie es. Wenn irgendwo in Ihrer/res-Datei (den Ressourcen) ein Fehler auftritt, wird das R normalerweise nicht generiert. Es könnte ein Fehler im Namen eines Bildes oder irgendetwas sein ... beheben Sie Ihre Fehler vor. viel Glück;)

0

Ich habe ähnliches Problem festgestellt und ich änderte den Arbeitsbereich Ordner und alle Fehler verschwunden. Es ist eine einfache Lösung, aber es funktioniert.