R.javaist eine Datei, die die Android Eclipse-Plugins beim Erstellen Ihrer Anwendung erstellen. R.javawird im Verzeichnis "gen" erstellt. Diese Datei wird aus den Informationen im Verzeichnis "res" generiert. Wenn Sie im Eclipse-Menü "Projekt" -> "Bereinigen ..." auswählen, wird die R.javaDatei entfernt und anschließend neu generiert .
Das Problem "R kann nicht gelöst werden" tritt auf, wenn Sie Ihren Paketnamen in der AndroidManifest.xmlDatei ändern . Es verwendet Ihren Android-Paketnamen, um ein Unterverzeichnis unter dem Verzeichnis "gen" zu erstellen, in dem die R.javaDatei gespeichert wird.
Eclipse kann Probleme beim Ausführen von Clean haben, da nicht klar ist, wo sich die R.javaDatei befindet, wenn Sie den Namen des Android-Pakets geändert haben. Sie können entweder das Unterverzeichnis unter umbenennen gen, um es an Ihren neuen Paketnamen anzupassen, oder Sie können Ihren Paketnamen wieder in den alten Namen ändern. Führen Sie die Reinigung durch und ändern Sie den Paketnamen in den gewünschten neuen Namen. Dies funktioniert am besten, wenn Sie Eclipse daran hindern, zu erstellen, während Sie den Paketnamen ändern. Deaktivieren Sie im Menü "Projekt" die Option "Automatisch erstellen" und deaktivieren Sie das Kontrollkästchen "Sofort erstellen", wenn im Dialogfeld "Bereinigen ..." gefragt wird, ob "Build sofort starten" soll, damit nicht versucht wird, während Sie Änderungen vornehmen der Paketname. Nachdem Sie den Namen geändert haben, können Sie "Automatisch erstellen" wieder aktivieren.
Beachten Sie, dass AndroidManifest.xmlEclipse automatisch ein "import <Ihr Android-Paketname> .R;" hinzufügt , wenn Ihr Dateipaketname nicht mit Ihrem Java-Paketnamen übereinstimmt. Zeile in all Ihren .javaDateien, die Verweise auf R enthalten. Wenn Sie Ihren AndroidManifest.xml
Paketnamen ändern , aktualisiert Eclipse manchmal nicht alle diese hinzugefügten Importe. Verwenden Sie in diesem Fall das Eclipse-Refactoring ( ALT+
Shift+ R), um die Importanweisung in einer Ihrer Java-Dateien in Ihren neuen AndroidManifest.xmlPaketnamen zu ändern . Am besten tun Sie dies, während Sie "Automatisch erstellen" deaktiviert haben.