Tworzenie dla Androida w Eclipse: R.java nie regeneruje
I ' ve found out that my R.java nigdy nie jest aktualizowany, więc nie zawiera informacji o moich nowych zasobach, więc postanowiłem je usunąć i pomyślałem, że Eclipse wygeneruje nowy. Ale tak się nie stało i nie mam R.java teraz. Jak mogę go zregenerować?
Używam Windows 7.
Z jednego z komentarzy: "Robienie projektu -> czysty jest tym, co spowodowało problem dla mnie. Czyszczenie usuwa R.java...i z jakiegokolwiek powodu wtyczka nie jest regeneruję plik."
30 answers
Ta strona sugeruje:
Jeśli uruchomisz czysty projekt, powinien on zregenerować Wszystkie wygenerowane pliki Javy, a mianowicie R.
...i...
W Eclipse, w menu Projekt, jest opcja budowana automatycznie. To pomoże Ci zbudować R.java modyfikacje plików są made. Czyste... opcja jest również tam w ramach projektu.
Ta strona sugeruje inne rozwiązanie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-24 12:30:07
Okazało się, że przydarzyło mi się to z zepsutym układem i wszystko wybucha. Spokojnie, to jak ten stary błąd, kiedy pierwszy raz nauczyłeś się programowania C, gdzie zapominasz o jednym średniku i generuje on setki błędów. Wielu panikuje, naciska wszystkie przyciski i pogarsza sprawę.
Rozwiązanie
- upewnij się, że wszystko, do czego linki {[0] } nie są zepsute. napraw wszystkie błędy w plikach XML. Jeśli coś w adkach jest zepsute,
R
nie będzie zregeneruj się. - Jeśli w jakiś sposób uderzysz w coś i stworzysz
import android.R
w swojej aktywności, usuń to . - Run Project - > Clean. Spowoduje to usunięcie i zregenerowanie R i BuildConfig.
- upewnij się, że Project - > Build Automatically jest zaznaczone. Jeśli nie, zbuduj go ręcznie za pomocą
Menu -> Project -> Build Project
. - poczekaj kilka sekund, aż błędy znikną.
- Jeśli to nie zadziała, Usuń wszystko z folderu/ gen /
- If it still nie działa, spróbuj kliknąć prawym przyciskiem myszy projekt -> Narzędzia Android - > napraw właściwości projektu.
- Sprawdź swoje *.pliki właściwości (w folderze głównym folderu aplikacji) i upewnij się, że łącza w nim nie są uszkodzone.
- kliknij prawym przyciskiem myszy swój projekt > właściwości > Android . Zapoznaj się z sekcjami Project Build Target i Library po prawej stronie. Twój cel budowania powinien pasować do celu w AndroidManifest.xml. Więc jeśli jest ustawiony na target 17 W AndroidManifest upewnij się, że nazwa docelowa to Android 4.2. Jeśli Biblioteka ma znak X pod odniesieniem, Usuń i dodaj ponownie bibliotekę, dopóki nie pojawi się zielony znacznik. Może się to zdarzyć, jeśli przeniosłeś kilka plików i folderów.
Co zrobić, gdy R nie regeneruje się
Zwykle dzieje się tak, gdy masz uszkodzony plik XML.
- Sprawdzanie błędów wewnątrz plików XML, głównie w folderze
/res/
- wspólne miejsca to
/layout/
i/values/
, zwłaszcza jeśli ostatnio zmieniłeś jedną z nich - Sprawdź
AndroidManifest.xml
. Stwierdzam, że często zmieniam łańcuch znaków i zapominam zmienić nazwę Łańcucha zAndroidManifest.xml
. - sprawdź czy
Android SDK Build-tools
jest zainstalowany. Window - > Android SDK Manager -> Tools- > Android SDK Build-tools - upewnij się, że podczas aktualizacji
Android SDK Tools
, zaktualizujesz równieżAndroid SDK Platform-tools
iAndroid ADK Build-tools
. Build zawodzi po cichu, jeśli nie pasują. - Jeśli nie możesz znaleźć problemu, kliknij prawym przyciskiem myszy /gen/ - > Przywróć z lokalnej historii... - >kleszcz R.java - > kliknij Przywróć . Nawet jeśli nie rozwiąże problemu, usunie dodatkowe błędy, aby ułatwić znalezienie problemu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-31 20:00:23
Miałem ten sam problem. Kiedy to sprawdziłem, odkryłem, że nazwa zasobu XML w układzie nie miała prawidłowej konwencji nazewnictwa. Miała duże litery. Więc zmieniłem nazwę, żeby wszystkie litery były małe i magia zadziałała.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-24 12:46:26
One reason the R.class może zniknąć nagle, gdy są błędy w plikach XML. Na przykład, gdy dodajesz plik XML z wielkimi literami w nazwie, jak myCoolLayout.xml, który nie jest dozwolony. Lub gdy masz odniesienia, które nie wskazują na istniejące pliki itp.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-24 12:30:51
W Eclipse, po prostu użyj Project -- > clean aby wyczyścić projekt. Na R.java zostanie automatycznie (ponownie) stworzony.
Jeśli z jakiegoś powodu to nie działa: upewnij się, że twój układ.pliki xml nie zawierają błędów. Eclipse wydaje się być nieco błędny tutaj: czasami nie zaznacza błędów w XML lub Package explorer. W takim przypadku: spójrz na widok" konsola "lub" problemy "po użyciu"clean". Wszystkie błędy powinny być wyświetlane tam. Napraw je i powtórz czyste.
Uwaga: nie jest konieczne, aby naprawić błędy pojawiające się z powodu brakującego pliku R! wystarczy naprawić pliki XML i inne błędy projektu i użyć clean!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-25 12:04:13
Quick fix:
Nazwa pakietu w manifeście musi być taka sama jak w folderze /src
, pakiet folderu /gen
zostanie automatycznie odtworzony.
Szczegółowa obserwacja:
Obserwuj nazwę pakietu w folderze /gen
. W moim przypadku było inaczej niż w folderze /src
.
Pakiet wymieniony w manifeście był pakietem /gen
folderu.
Próbowałem dodać pakiet o nazwie folderu /src
do folder /gen
również zobaczyć, co by się stało, ale to nie rozwiązało problemu. Następnie usunąłem nazwę pakietu, która nie była taka sama jak nazwa folderu /src
. Pakiet o nazwie, która nie odpowiadała folderowi /src
został odtworzony, gdy tylko go usunąłem.
Ponieważ odniesienie do pakietu w manifeście odpowiadało temu, które było bezsensownie odtwarzane i które nie odpowiadało pakietowi w folderze /src
, wywołało to aby zmienić nazwę package = "oldPackage"
za pomocą package = "srcFolderPackage"
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-24 12:54:02
Miałem ten sam problem i w końcu znalazłem problem: w strunach.xml, nie zachowałem linii <string name="app_name">program-name</string>
, która jest obecna domyślnie podczas tworzenia nowego projektu Androida. Myślałem, że jest używany tylko do programu HelloWord, który jest oryginalnym programem.
= > błąd kompilacji;
= > the R.java isn ' t updated;
= > ID nie są rozpoznawane...
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-24 12:32:55
Android dodał w SDK build tool ADT 22 dla mechanizmu budowania. Musisz tylko wykonać następujące kroki.
- Update Android SDK Tool
- zaktualizuj narzędzie Android SDK Platform tool
- Update Android SDK Build Tool
- Dodaj ścieżkę narzędzia budowania do zmiennej path. (ścieżka do - - - - twojego katalogu-ścieżka\android-sdk \ build-tools)
To rozwiąże problem.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-31 20:08:17
Jeśli twój R.java nie jest generowany, jednym z rozwiązań jest usunięcie pliku Układu o nazwie " blabla.Wynocha.xml".
Po usunięciu tego pliku spróbuj wyczyścić projekt z menu Projekt -> Clean .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-24 12:35:07
Jako uogólnienie odpowiedzi Glaux, jeśli masz jakieś błędy w katalogu res
, to R.java może nie generować-nawet jeśli wyczyścisz i odbudujesz. Najpierw rozwiąż te błędy.
Jako przykład: po dodaniu pliku obrazu powiedzmy, " myimage-2.jpg", system uzna to za błąd, ponieważ nazwy plików są ograniczone do wartości alfanumerycznych. Odśwież katalog " res " po dodaniu plików i obserwuj wyjście w oknie konsoli pod kątem dowolnej nazwy pliku Ostrzeżenia.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-01-16 17:40:25
Jeśli twój OS to Ubuntu, mogę podać jakąś sugestię:
-
Install or upgrade ia32-lib:
sudo apt-get upgrade ia32-libs
-
Sprawdź, czy masz odpowiednie uprawnienia w folderze aapt:
cd ANDROID/adt-bundle-linux-x86_64-20130522/sdk/build-tools/android-4.2.2 chmod 777 aapt
-
Start Eclipse:
sudo eclipse
-
Uruchom projekt - > Clean in Eclipse
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-31 20:12:51
W 100% masz błąd w pliku XML, ale weryfikacja XML nie pokazuje błędu. To jest powód, dla którego musisz najpierw sprawdzić swoje pliki XML!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-31 20:19:00
Zawsze warto przyjrzeć się zakładce Problemy w Eclipse. W moim przypadku otrzymywałem komunikat o błędzie "android nie mógł rozwiązać docelowego" android-8 " ", który utrzymywał R.java od bycia wygenerowanym. Poprawiłem więc zaimportowany Cel do tego, którego używałem w domyślnym .properties Plik, następnie wykonałem czyste poprzez projekty- > czyste i voila! R.java jest generowany automatycznie! Mam nadzieję, że to pomoże!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-15 17:04:34
Czyszczenie projektu, Zamknięcie Eclipse, ponowne jego otwarcie i uruchomienie w końcu sprawiło, że mój R.java by się ponownie pojawić... Hope it helps
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-25 10:48:43
Upewnij się, że nie importujesz
Android.R;
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-25 10:38:30
R.java nigdy nie zostanie wygenerowany, jeśli w folderze res
są jakieś błędy. Na przykład w podfolderze drawable znajdują się dwa pliki o tej samej nazwie, jeden to icon.png, a drugi to icon.html.
Możesz zobaczyć jakiś błąd w oknie dziennika konsoli Eclipse, który mówi: "ikona wejścia zasobów jest już zdefiniowana.". Po usunięciu ikony.html, możesz wyczyścić lub po prostu usunąć folder gen
. Przekonasz się, że R.java jest stworzony.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-25 12:16:14
Odkryłem, żekażdy plik zawierającywielkie litery w folderze res
spowoduje powstanie tego błędu. Przydarzyło mi się to z plikiem PNG, który dodałem i o którym zapomniałem.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-25 12:20:54
Po przeczytaniu wielu postów i filmów na YouTube, odkryłem, że każdy z nas ma R.java
brakuje z różnych powodów.
Oto Jak to naprawiłem w Eclipse:
- Utwórz R.java w
gen
folderze ręcznie i zapisz. - Następnie przejdź do projektu i kliknij "Wyczyść"
Zostanie wyświetlony następujący komunikat i Twój plik zostanie automatycznie przepisany:
R.java został zmodyfikowany ręcznie! Przywracanie do wygenerowanego wersja!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-27 16:59:15
Dla mnie podlinkowalem V7 appcompat dwa razy. Tak czy inaczej, w Eclipse kliknij prawym przyciskiem myszy nazwę projektu w Package Explorer lub Navigator, przejdź do Właściwości, Android, i odznacz wszystkie duplikaty w sekcji Biblioteka. Może być konieczne zbudowanie -- > Clean później.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-26 17:39:25
Oczywiście nie ma na to ostatecznej odpowiedzi, ale tu jest jeszcze jedna, której tu już nie widzę:
Miałem R.java
zniknąć po (próba) synchronizacji zespołu, i były pliki rozwiązywania konfliktów w projekcie (tj., thingy.xml.mine
,thingy.xml.r35
, itd.). Usuwanie ich/rozwiązywanie konfliktów R
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-01 14:17:31
Miałem taki problem. Przypadkowo usunąłem to
xmlns:tools="http://schemas.android.com/tools"
Który zaczął powodować błędy kompilacji w całym projekcie w moich plikach XML, a także moich plikach Java. Jak tylko ponownie wpisałem to co usunąłem, to działało ponownie:)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-05 00:56:47
OK więc jest jasne, że może być wiele przyczyn tego problemu. Jeśli korzystasz z 64-bitowego Linuksa i dopiero konfigurujesz ADT po raz pierwszy, może wystąpić ten problem, gdy R nie generuje się automatycznie. Sprawdź kartę konsola i może pojawić się błąd podobny do:
'No such file or directory' while attempting to get adb version from '/home/patrick/code/android-sdks/platform-tools/adb'
Jeśli tak jest, musisz zainstalować ia32-libs, używając czegoś takiego jak:
sudo apt-get install ia32-libs
Zobacz tutaj po szczegóły: Android adb not found
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:18:23
Natknąłem się na ten problem kilka razy. Zauważyłem, że jeśli nie zaimportowałem pakietu R przez nazwę mojej aplikacji, na przykład, jeśli moja aplikacja miała przykładową nazwę pakietu.test następnie okazało się, że musiałem zaimportować przykład.test.R w celu uzyskania dostępu do któregokolwiek z zasobów.
Jeśli to nie zostało zaimportowane, to zasoby, które zostały zwrócone, były domyślnymi zasobami bez mojego własnego.
Z tym, że jeśli okaże się, że otrzymujesz tylko listę domyślne zasoby następnie po prostu sprawdź, aby upewnić się, że importujesz application_package_name.R a nie android.R.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-25 12:01:22
Mój problem polegał na tym, że appcompat
nie było w tym samym katalogu co mój projekt.
Odkryłem to podczas kompilacji mojej aplikacji z Ant .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-31 20:17:23
Upewnij się również, że masz najnowszą wersję wtyczki ADT i otwórz Menedżera SDK Androida, aby zaktualizować wszystkie narzędzia SDK do najnowszej wersji. Sprawdź aktualizacje również w samym Eclipse. Nie pasujące wersje spowodowały dla mnie problem.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-21 22:56:42
Mój problem był w pliku menu.
Wydaje się, że kompilator nie ostrzega cię, jeśli w plikach menu znajdują się odniesienia do ciągów znaków, które nie istnieją wewnątrz strings.xml
. Sprawdź, czy twoje item
s W menu pliki XML odwołują się do żadnych łańcuchów, które nie istnieją w twoim strings.xml
. Zazwyczaj w android:title
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-13 12:29:31
Dla mnie ten błąd powstał, gdy próbowałem zduplikować istniejącą res/menu
zamiast tworzyć ją za pomocą wizard
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-03 12:21:39
Wszystkie te odpowiedzi nie mogą działać, jeśli używasz Mavena. Rozwiązaniem dla mnie było dodanie
<genDirectory>${project.basedir}/gen</genDirectory>
Do sekcji konfiguracyjnej android-maven-plugin.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-07 06:30:12
I found a solution why R.class nie jest zrobiony przez Eclipse po zrobieniu go ponownie - 2 clean, build itp.
Problem tkwi tutaj w ciągach.xml:
<string name="hello">Hello World, HelloAutoComplete!</string>
<string name="app_name">HelloAutoComplete</string>
Są one domyślnie tworzone przez Eclipse podczas tworzenia projektów.
Zdecydowanie zmieniasz struny.xml dla własnych wymagań. Czasami czyścisz sznurek.xmls te dwie linie z twojego kodu: To sprawia problem w AndroidManifest.plik xml:<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".HelloAutoComplete" android:label="@string/app_name">
Więc nie może się komunikować sznurkami.xml.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-24 12:44:36
Zmieniłem nazwę pliku XML układu i okazało się później, że plik XML (dostawca widżetów w tym przypadku) nadal odnosi się do starego układu XML, który nie istnieje, a to uniemożliwiło automatyczne generowanie / korekcję klasy R.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-24 12:48:16