W każdym przypadku we wszystkich moich klasach, do których się odwołuję R.id.something
, R
jest on czerwony i mówi „nie można rozwiązać symbolu R”. Również za każdym razem R.layout.something
jest podkreślony na czerwono i mówi „nie można rozwiązać metody setContentView (?)”. Projekt zawsze dobrze się układa. Ciągle to denerwuje. Przeczytałem tutaj wiele innych pytań na temat podobnego, ale najbardziej wymagającego importu projektów z Eclipse. Korzystam z najnowszej wersji Androida Studio, która według mnie jest projektem. Projekt został utworzony w Android Studio i działał bez problemów „nie można rozwiązać R.”. Chciałbym wiedzieć, co to powoduje, jeśli ktoś wie.
android
android-studio
r.java-file
ez4nick
źródło
źródło
Odpowiedzi:
Też miałem ten problem. Prosty „gradlew clean” i „gradlew build” załatwiły sprawę.
Kliknij Build-> Clean Project , który wykona czyszczenie stopnia
źródło
W najnowszych wersjach Android Studio, przynajmniej dla mnie, działają:
„Narzędzia” -> „Android” -> „Synchronizuj projekt z plikami stopniowymi”
W najnowszym Android Studio 3.1.3 (lipiec 2018 r.) „Synchronizacja projektu z plikami stopniowymi” jest dostępna na pasku menu głównego.
źródło
Korzystałem z klasy 3.3.0. To był główny winowajca. Zmarnowałem 6,50 godziny z mojego życia. Gradle 3.2.1 usunął błąd.
Problem rozwiązany po zmianie wersji stopniowej. Szczegóły historii można znaleźć tutaj .
źródło
3.2.1
był w rzeczywistości jedynym rozwiązaniem, które zadziałało dla mnie ...3.2.1
, możesz także zaktualizować Android Studio do wersji3.3
. Zobacz moją odpowiedź tutajMam podobny problem i oto co zrobiłem:
Wyczyść projekt i zsynchronizuj projekt z Gradle,
sprawdź wersję buildTools w moim SDK
Z poziomu kompilacji (modułu) zmień minSdkVersion z 8 na 9
Ale to wszystko nie pomogło.
W końcu znalazłem odpowiedź (to zadziałało w moim przypadku)
Zmień z build.gradle (moduł: aplikacja)
Lub
Wybierz Plik | Zmiana struktury projektu Zbuduj wersję narzędzia do 21.1.1
źródło
To jest to.
Na przykład miałem wpis w moim
strings.xml
:I
activity_main.xml
użyłem tego wpisuPodczas pracy z projektem usunąłem to
I w konsekwencji
activity_main.xml
stał się nieważny. W rezultacie: nie można rozwiązać R.Sprawdź swoje
*.xml
pliki i wyczyść projekt.źródło
Jeśli zobaczysz ten błąd po przeniesieniu plików Java lub katalogów do innych lokalizacji, możesz zagwarantować, że Android Studio się pomylił. I zgadnij co? cofnięcie tych działań nie rozwiązuje problemu.
Więc próbujesz wyczyścić, ale to nie działa.
Ponowne uruchomienie również nie działa.
Ale spróbuj File -> Invalidate Caches / Restart ... -> Invalidate and Restart
Android Studio przechowuje informacje o tym, które pliki są zależne od innych plików. A ponieważ przenoszenie plików nie jest poprawnie realizowane, przenoszenie plików powoduje błędy. I to nie wszystko: pamięci podręczne tych zależności są używane w celu przyspieszenia kompilacji.
Oznacza to, że nie tylko musisz zrestartować, ale musisz unieważnić te pamięci podręczne, aby przywrócić (lub, dokładniej, odbudować) zdrowie psychiczne.
źródło
Myślę, że jeśli umieścisz pliki działań w innym folderze niż domyślny. Musisz zaimportować
com.example.yourproject.R
(toR
NIEAndroid.R
plik projektu NIE plik) do WSZYSTKICH działań za pomocąR
. Na przykład wMainActivity
pliku wstaw następujący wiersz:źródło
Wydaje się, że istnieje wiele przyczyn tego problemu. Ostatnio dodałem aktywność do testowania o nazwie NewActivity. To utworzyło plik o nazwie
res/menu/new.xml
i gradle nie podobała się ta nazwa, ponieważ new jest słowem zastrzeżonym.lub
Są to zdecydowanie dobre rzeczy do wypróbowania, ale możesz mieć inne problemy, które musisz rozwiązać przed uruchomieniem tych poleceń.
źródło
Plik R.java zawiera łącze między stroną XML a stroną Java. „R nie można rozwiązać” pojawia się tylko wtedy, gdy występuje problem z niektórymi plikami zasobów. Tak więc najlepszym i skutecznym sposobem jest usunięcie ostatnio wykonanego pliku XML lub pliku do rysowania w pliku res. a następnie ponownie zacznij od tego miejsca zgodnie z normami kodowania Androida. To jedyny sposób. Skuteczny i właściwy sposób.
Użyj także Git do poprawnego śledzenia kodu. ..
źródło
Twój kod jest po prostu zakodowany. Odpowiedź jest dość prosta.
Wystarczy przejść do Build -> Clean Project .
To powinno wystarczyć.
Sprawdź także swoją wersję Androida Studio.
Obecnie używam Androida Studio 3.0.1 .
źródło
Czy ostatnio zaktualizowałeś swoje narzędzia SDK? Uruchom menedżera SDK systemu Android i upewnij się, że masz najnowsze narzędzia SDK, które są teraz oddzielone od narzędzi platformy. Miałem ten sam problem, kiedy po raz pierwszy zaktualizowałem menedżera SDK, pakiet narzędzi kompilacji SDK nie pojawił się do instalacji / aktualizacji, dopóki nie zamknąłem i nie otworzyłem ponownie menedżera SDK.
źródło
Po prostu wyczyść swój projekt i zsynchronizuj projekt z plikiem Gradle.
Problem zostanie rozwiązany.
źródło
Miałem to z
źródło
Build->Clean Project
Ostatnio miałem ten problem, a czyszczenie / kompilacja itp. Nie rozwiązało go. Wydawało mi się, że mam gdzieś problem, ale nie byłem pewien, gdzie go szukać (czy to w manifeście, plikach XML zasobów itp.?).
Gdy coś jest nie tak, możesz dowiedzieć się, co to jest, wykonując analizę kodu.
Z menu u góry wybierz:
Przeanalizuj -> Sprawdź kod, zeskanuj cały projekt za pomocą profilu „Domyślny”.
Wyniki kontroli będą zawierać element o nazwie „Android”. Tutaj znajdziesz listę wszystkiego, co powoduje problemy w twoich zasobach i pliku manifestu. Błędy otworzą wygenerowane pliki xml z twojej kompilacji, które pokażą wszelkie błędy na czerwono.
Mój dokładny problem został spowodowany, ponieważ korzystałem z plików manifestu opartych
<application>
na smaku i przez przypadek skopiowałem niektóre uprawnienia wewnątrz tagu w smaku.AKTUALIZACJA: Miałem problem po tym, gdy Android Studio nadal wyświetlał błąd po poprawce, mimo że mogłem teraz budować i działać idealnie, gdy błąd nadal występował. (Korzystam z kanaryjskiej wersji, więc odłóż to na razie)
źródło
Musiałem zaimportować mój
R
pakiet w Android Studio. Na przykład:import com.example.<package name>.R
źródło
import com.example.old-package-name.R
, więc musiałem zmienić nazwę importu.To bardzo stare pytanie, ale wciąż się często zdarza i nie ma tutaj naprawdę wyczerpującej odpowiedzi.
Miałem ten problem więcej razy, niż chcę przyznać. Może to być spowodowane różnorodnymi problemami, które w większości dotyczą struktury projektu niepasującej do oczekiwanych. Oto lista wszystkich problemów, które miałem:
Importowanie z Eclipse do Android Studio nie zawsze działa płynnie, szczególnie w przypadku starszych wersji Android Studio. Upewnij się, że używasz właściwego drzewa katalogów. Powinno to wyglądać tak dla umiarkowanie dojrzałej aplikacji:
To może nie wyglądać tak w twoim IDE. Nad drzewem plików znajduje się menu rozwijane, które wyświetla pliki na różne sposoby, a domyślnie w moim systemie jest to Android, który dzieli pliki na różne typy. Łatwiej jest rozwiązać ten problem z projektu Project, a jeszcze łatwiej bezpośrednio z systemu plików twojego systemu operacyjnego, ponieważ Android Studio zrzuca foldery zawierające tylko inny folder do jednej linii.
Zwłaszcza jeśli kiedykolwiek zmienisz nazwę swojej aplikacji, musisz upewnić się, że drzewo źródłowe main / java / com / domain / AppName jest zaktualizowane. Upewnij się także, że tag pakietu w pliku AndroidManifest.xml jest poprawny.
Jeśli występują błędy w plikach Gradle lub AndroidManifest.xml, uniemożliwi to Android Studio prawidłowe tworzenie plików zasobów. Pliki Gradle mogą być czasami przerywane przez aktualizację Android Studio, szczególnie z wersji wcześniejszych niż 1.0. Czasami dzieje się tak, ponieważ przestaje on obsługiwać starsze wersje wtyczki Gradle, dlatego musisz zaktualizować numery wersji. Czasami może być trudno znaleźć aktualne wersje. Na dzień 17.07.2015 moje aplikacje działają dobrze
com.android.tools.build:gradle:1.2.3
. Znajduje się to w bloku zależności w zewnętrznym pliku ocen,Jeśli Twój AndroidManifest odwołuje się do nieistniejącego zasobu lub działania ciągliwego lub ciągowego, zepsuje się i spowoduje ten błąd. Czasami, jeśli coś odwołuje się do nieistniejącego zasobu ciągnienia lub ciągów, pojawi się ten błąd.
Jeśli masz plik w zasobach, który jest uszkodzony lub nieprawidłowy plik xml, pojawi się ten błąd.
Z mojego doświadczenia wynika, że czasami Android Studio czknie bez powodu i musisz go ponownie uruchomić i / lub komputer. Nie wiem dlaczego, ale czasem to działa.
Jeśli masz dwa zasoby xml o tej samej nazwie, w katalogach, które się nie zastępują, możesz mieć ten problem. Na przykład możesz mieć tę samą nazwę w Drawable-mhdpi i Drawable-xhdpi, ponieważ zastępują się one w zależności od urządzenia docelowego, ale jeśli masz tę samą nazwę w układzie i menu, spowoduje to problem. Zmień nazwę lub usuń jeden z plików.
Jeśli tylko niektóre zasoby mają ten problem, najprawdopodobniej są one w niewłaściwym katalogu.
W jednym przypadku musiałem całkowicie ponownie zainstalować Android Studio. Nie wiem, co było nie tak, ale zadziałało.
W jednym przypadku przeniosłem cały projekt do innego katalogu i ponownie zaimportowałem go jako nowy projekt. Nie wiem, co było nie tak, ale zadziałało.
Pliki XML ze słowami zastrzeżonymi dla nazw mogą powodować ten problem. Zmień ich nazwę lub usuń.
Plik Gradle może odwoływać się do wersji narzędzi do budowania, które nie zostały zainstalowane, na kilka sposobów. Popraw to, zmieniając Gradle lub pobierając odpowiednie narzędzia do budowania.
Wreszcie, po naprawieniu tego, co jest nie tak, musisz wyczyścić projekt Gradle. Aby to zrobić, przejdź do menu Kompilacja u góry i wybierz opcję Wyczyść projekt.
źródło
Wystarczy przejść do listy menu głównego Androida. kliknij Menu kompilacji , w części Kompilacja kliknij Przebuduj projekt.
źródło
Napotkałem ten problem, gdy ręcznie zmieniłem nazwę folderu domeny mojej aplikacji. Aby rozwiązać ten problem, musiałem
package
strukturę folderów<manifest>
wAndroidManifest.xml
.android:name
z<activity>
wAndroidManifest.xml
.Problem zniknie, gdy studio Android uruchomi się ponownie i zbuduje nowy indeks.
źródło
Miałem ten sam problem: Android Studio 3.2 Projekt kompiluje się i działa poprawnie, ale otrzymuję ostrzeżenia ekranowe „Nie można rozwiązać symbolu R”
Czy nie pomocy:
Pomaga:
zarówno
w build.gradle
zamienić
lub
Zaktualizuj Android Studio do 3.3
źródło
Mam specjalny przypadek dla tego problemu.
W moim projekcie wszystko idzie dobrze, można go skompilować i skompilować z powodzeniem, ale w moim Android Studio IDE (a także próbowałem Intelligent IDEA, są w tej samej sytuacji) plik R.java nie może być dobrze rozwiązany i zawsze będzie upuść czerwoną linię.
Takie jak to:
To prawie doprowadziło mnie do szału, nie mogę znieść koloru odczytu podczas programowania.
W końcu odkryłem, że ten trudny problem wynika z rozmiaru pliku mojej R.javy. Mój projekt jest bardzo duży, obsługuje wiele języków i wiele rozmiarów ekranu. Istnieje tak wiele zasobów, że rozmiar mojego R.javy wynosi około 2,5 mln .
Maksymalny rozmiar pliku w Android Studio to 2,5M w ustawieniach domyślnych, więc plików większych niż ten limit nie można dobrze rozwiązać. Możesz zmienić ustawienia domyślne w „AndroidStudio-root / bin / idea.properties”.
zmień ten wiersz:
do :
Następnie uruchom ponownie studio Android, czerwony kolor został usunięty, mogę ponownie programować z radością.
źródło
Kompiluj> Wyczyść projekt
To zadziałało dla mnie. Miałem ten sam problem kilka razy i wydaje się, że to poprawiło. Chyba że coś zmieniłeś lub nazwałeś zmienną R. Ten problem zwykle pojawia się znikąd, kiedy mi się przytrafia, więc wyobrażam sobie, że to tylko studia z Androidem wariujące. ha ha
Życzę udanego i powodzenia w projektach.
źródło
Wykonaj: Zbuduj> Wyczyść projekt
WAŻNE: Upewnij się, że nie ma żadnych błędów po czyszczeniu projektu w okienku wiadomości (Alt + 0). Jeśli znajdziesz jakieś czerwone kółka z wykrzyknikiem, musisz usunąć te błędy w kodzie.
Najczęściej te błędy są związane z @ string / lub @ array /. Wyczyść projekt ponownie i gotowe!
źródło
Miałem ten sam problem i zdarza się, kiedy tworzę nowy projekt.
To co robię to:
To działa dla mnie.
źródło
Z trudem sam to naprawiłem.
To działało dla mnie, mam nadzieję, że również dla ciebie.
źródło
Miałem ten sam problem i przez większość czasu jest on rozwiązywany przez
Ale tym razem błąd utrzymywał się nawet po zrobieniu tych wszystkich rzeczy i wreszcie znalazłem winowajcę.
Problem dotyczył pliku XML , w którym podałem zwykłą wartość ciągu
android:id
zamiast typu zasobu id .BŁĄD
KOREKTA
UWAGA
W większości przypadków kompilator pokazuje źródło błędu w komunikacie. Najpierw spróbuj to sprawdzić, zanim spróbujesz zastosować inne rozwiązania
źródło
„Miałem ten sam problem, który został rozwiązany przez:
źródło
Ta notacja wydaje się działać dobrze.
Wygląda na to, że panel projektowy Android Studio nie działa dobrze.
źródło
Taki sam problem. Zaczęło się, gdy dodałem kilka zdjęć do folderu, który można wyciągnąć i próbowałem uzyskać do nich dostęp. Również dodane obrazy miały rozszerzenie dużymi literami. Wydaje się, że to spowodowało awarię kompilacji, ponieważ nawet jeśli zmieniłem ich nazwę, wiadomość była taka sama, a R był niedostępny. W pliku .iml szukałem folderu exclude i usunąłem go (jak poniżej):
Następnie przebudowałem projekt i R pojawił się magicznie.
źródło
Istnieje wiele przyczyn tego błędu.
<Button/>
ale nadal jest zadeklarowany w dowolnym działaniu lub fragmencie .java.Najlepszym sposobem na wyśledzenie błędu jest przebudowanie go raczej w trybie czystym lub synchronizacji z celowym błędem.
Jeśli to nie rozwiąże twojego problemu, to musi być jakiś błąd lub błąd w czasie wykonywania lub błąd wystąpił z powodu niewłaściwego wykorzystania zasobów, może to być zarówno plik Java lub XML w kodzie lub projekt, który zmusza gradé do zatrzymania, ponieważ (R ) plik esource nie może poprawnie zindeksować twoich zasobów i musisz to przyznać.
Jeśli projekt został uruchomiony przed wprowadzeniem zmian, skomentuj wprowadzone zmiany i spróbuj odbudować projekt.
Z pewnością będzie działać, ponieważ nie będzie żadnych zmian.
Aby wyśledzić dokładny błąd, sprawdź zmiany, dzieląc je na mniejsze moduły.
Na przykład - jeśli wyświetlasz listę za pomocą kliknięcia przycisku i wstawiasz wartości listy do adaptera, najpierw sprawdź, czy możesz ją wyświetlić, czy nie, a następnie sprawdź błędy adaptera.
źródło
To był dla mnie duży ból głowy. W moim przypadku błąd pojawił się po skonfigurowaniu „Google Play Services” w Android Studio (instalacja + konfiguracja build.gradle). To z kolei wymaga minsdk> 7, ale błąd jest bardzo niejasny (w rzeczywistości skarga na ten temat pojawia się tylko jako „informacja”). W każdym razie .. po zmianie minsdk na 8 zarówno w pliku manifestu, jak i pliku build.gradle i przebudowaniu projektu błąd zniknął.
Więc .. ogólna rada na ten temat, jeśli mogę uogólnić - prawdopodobnie masz jakiś problem z plikiem manifestu lub innym plikiem konfiguracyjnym, który uniemożliwia poprawną kompilację. Spróbuj naprawdę mocno przyjrzeć się raportowi o błędzie, nawet wiadomościom zatytułowanym „informacje”, aby uzyskać wskazówki na temat tego, co to może być ...
źródło