R.javato plik, który wtyczki Android Eclipse tworzą podczas budowania aplikacji. R.javajest tworzony w katalogu „gen”. Ten plik jest generowany na podstawie informacji w katalogu „res”. Jeśli uruchomisz wybierz „Projekt” -> „Wyczyść ...” w menu Eclipse, usunie, a następnie ponownie wygeneruje R.javaplik.
Problem „R nie może zostać rozwiązany” występuje po zmianie nazwy pakietu w AndroidManifest.xmlpliku. Używa nazwy pakietu Androida, aby utworzyć podkatalog w katalogu „gen”, w którym przechowuje R.javaplik.
Zaćmienie może mieć problemy z wykonaniem czyszczenia, ponieważ nie ma pewności, gdzie R.javaznajduje się plik po zmianie nazwy pakietu Androida. Możesz albo zmienić nazwę podkatalogu, genaby pasował do nazwy nowego pakietu, lub możesz zmienić nazwę pakietu z powrotem na starą. Wykonaj czyszczenie, a następnie zmień nazwę pakietu na nową, którą chcesz. Działa to najlepiej, jeśli powstrzymasz Eclipse przed próbą kompilacji podczas zmiany nazwy pakietu. W menu „Projekt” odznacz opcję „Kompiluj automatycznie”, a także, gdy okno dialogowe „Wyczyść ...” zapyta, czy powinno „Rozpocznij kompilację natychmiast”, odznacz to pole, aby nie próbowało budować podczas zmiany nazwa pakietu. Po zmianie nazwy możesz ponownie włączyć opcję „Automatycznie buduj”.
Pamiętaj, że jeśli AndroidManifest.xmlnazwa pakietu plików nie jest zgodna z nazwą pakietu Java, Eclipse automatycznie doda „import <nazwa pakietu Android> .R;” wstaw wszystkie .javapliki z odniesieniami do R. Jeśli zmienisz AndroidManifest.xml
nazwę pakietu, czasami Eclipse nie aktualizuje wszystkich tych dodanych importów. Jeśli tak się stanie, użyj refaktoryzacji Eclipse ( ALT+
Shift+ R), aby zmienić instrukcję importu w jednym z plików Java na AndroidManifest.xmlnazwę nowego pakietu. Najlepiej to zrobić po wyłączeniu opcji „Automatycznie buduj”.