R nie można rozwiązać-błąd Androida
Właśnie Pobrałem i zainstalowałem nowy Android SDK. Chciałem stworzyć prostą aplikację do testowania go.
Kreator stworzył ten kod:
package eu.mauriziopz.gps;
import android.app.Activity;
import android.os.Bundle;
public class ggps extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
AleEclipse daje mi błąd
R nie można rozwiązać
On line
setContentView(R.layout.main);
Dlaczego?
PS: mam plik XML o nazwie main.xml
Pod res/layout/
.
30 answers
Po wykryciu tego problemu, znalazłem tę notatkę w dokumentacji Androida:
Http://source.android.com/source/using-eclipse.html
*Uwaga: Eclipse czasami lubi dodawać " import Androida.R " oświadczenie w najlepsze pliki wykorzystujące zasoby, zwłaszcza gdy poprosisz Eclipse ' a o sortowanie lub zarządzanie importami w inny sposób. To spowoduje, że Twój pęknie. # Patrz out for these Error import oświadczenia i usunąć oni.*
Podczas przeglądania przykładowych samouczków Androida, często używałem Ctrl + Shift + o polecenie do "organizowania importu" i generowania brakujących instrukcji importu. Czasami generowałoby to niepoprawne polecenie import, które ukrywałoby klasę R.java
generowaną automatycznie podczas budowania.
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-08-13 17:58:22
Za każdym razem, gdy miałem problem z R nie został wygenerowany, lub nawet zniknął, było to spowodowane pewnym problemem w pliku układu XML, który uniemożliwił aplikację z budowy.
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-13 00:31:43
Whenever you get
R nie można rozwiązać
Następnie sprawdź katalog /res
I musi być jakiś plik, który ma jakiś błąd i który uniemożliwia zbudowanie aplikacji. Na przykład może to być plik układu lub może to być spowodowane brakiem zasobu, ale już zdefiniowano go w pliku XML.
Jeśli masz jakieś dodatkowe, nawet nieużywane (!) lub unreferenced (!) obrazów w folderze typu res/drawables-mdpi, które nie są zgodne z konwencje nazewnictwa plików (mogą zawierać tylko [a-z0-9_.]), the R.java klasa może nie generować, powodując łańcuch zdarzeń wszystkich innych wpisów, o których mowa. 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-08-28 08:06:21
Mój projekt zawiera r.java.at początek, R. layout.główna praca dobra.Ale po dodaniu jakiegoś kodu nie działa, a błąd to R. layout.główna nie może się rozstrzygnąć.w czym problem?
Spójrz na swój import. Jest szansa, że linia:
import android.R;
Będzie tam. Jeśli tak jest, usuń go, aby twój projekt rozwiązał R nie z domyślną klasą zasobów Androida, ale z tą automatycznie wygenerowaną z folderu/ res/.
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-12 21:23:46
I jeszcze jedna rzecz, która może powodować ten problem:
Zainstalowałem nowy ADT (V. 22). Przestał tworzyć gen
folder zawierający R.java
. Rozwiązaniem było również zainstalowanie nowych narzędzi do budowania Android SDK z Android SDK Manager.
Rozwiązanie znalezione tutaj
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-07-04 20:40:15
R.java
jest plik, który Android eclipse plugins tworzy podczas
budowanie aplikacji. R.java
jest tworzony pod "gen"
katalog. Ten plik jest generowany z informacji w " res"
katalog. Po uruchomieniu wybierz "projekt" - > " Wyczyść..."na zaćmieniu
menu, usunie i zregeneruje plik R.java
.
Problem "R nie może być rozwiązany" dzieje się, gdy zmienisz swój
Nazwa pakietu w pliku AndroidManifest.xml
. Używa Twojego Androida
Nazwa pakietu do utworzenia podkatalogu pod katalog " gen " gdzie
przechowuje plik R.java
.
Eclipse może mieć problemy z wykonaniem clean, ponieważ jest zdezorientowany o
gdzie znajduje się plik R.java
po zmianie pakietu Android
nazwisko. Możesz zmienić nazwę podkatalogu gen
, aby pasował do twojego
Nowa Nazwa pakietu lub możesz zmienić nazwę pakietu z powrotem na starą
nazwisko. Wyczyść, a następnie zmień nazwę pakietu na nową
chcesz. Działa to najlepiej, jeśli powstrzymasz Eclipse przed próbą zbudowania
while you are zmiana nazwy pakietu. W menu "Projekt"
odznacz opcję "buduj automatycznie", a także gdy
"Czyste..."dialog pyta, czy powinien" natychmiast rozpocząć kompilację"
odznacz pole, aby nie próbowało budować podczas zmiany
Nazwa pakietu. Po zmianie nazwy można włączyć " Build
Automatycznie " włącz ponownie.
Zwróć uwagę, że jeśli Nazwa pakietu AndroidManifest.xml
nie pasuje
nazwę pakietu Java, Eclipse zakończy się automatycznie dodaniem
"import .R; " wiersz we wszystkich plikach .java
które mają jakiekolwiek odniesienia do R. Jeśli zmienisz swoje AndroidManifest.xml
Nazwa pakietu, czasami Eclipse nie aktualizuje wszystkich tych dodanych
import. Jeśli tak się stanie, użyj refaktoringu Eclipse (ALT +
Shift + R ) aby zmienić instrukcję import w jednym z plików Java na
nazwa twojego nowego AndroidManifest.xml
pakietu. Najlepiej to zrobić
po wyłączeniu opcji "buduj automatycznie".
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-13 00:38:02
To, co powiedział Will, było słuszne
R jest automatycznie generowaną klasą, która przechowuje stałe używane do identyfikacji twoich > zasobów. Jeśli nie masz R.java plik (byłby to gen / eu.mauriziopz.gps/R.java w > Eclipse z SDK 1.5) polecam zamknięcie i ponowne otwarcie twojego projektu lub przejście do > Project > Build all (I wybranie" Build Automatically " podczas gdy tam jest zalecane przez > Josef). Jeśli to nie zadziała, spróbuj stworzyć nowy projekt, jeśli problem zostanie odtworzony niż > napisz tu jeszcze raz, a przejdziemy do szczegółów.
Ale dowiedziałem się, że był jeszcze jeden problem, który był przyczyną pierwszego. Narzędzia w katalogu SDK nie miały uprawnień do wykonania, więc wyglądało to tak, jakby nie istniały dla Eclipse, więc nie zbudowały pliku R.java
.
Więc modyfikacja uprawnień i wybranie "Build Automatically" rozwiązało 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
2012-03-13 00:30:07
R jest automatycznie generowaną klasą, która przechowuje stałe używane do identyfikacji zasobów. Jeśli nie masz R.java plik (byłby to gen / eu.mauriziopz.gps/R.java w Eclipse z SDK 1.5) polecam zamknięcie i ponowne otwarcie projektu lub przejście do Project > Build all (I wybranie" Build Automatically " podczas gdy tam jest zalecane przez Josefa). Jeśli to nie zadziała, spróbuj stworzyć nowy projekt, jeśli problem zostanie odtworzony, napisz tutaj ponownie, a my przejdziemy do więcej szczegóły.
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
2009-05-20 01:46:29
Zamknij wszystkie pliki, Wyczyść projekt, uruchom ponownie 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
2013-03-01 12:35:33
Warto zajrzeć AndroidManifest.xml
. Atrybut package
ma prawidłową wartość.
Czyli:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="your.correct.package.name"
...
Po zmianie, R.java
zostanie ponownie wygenerowany.
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-12-11 07:06:37
Ten błąd może być również spowodowany dodaniem aktywności do przestrzeni nazw, która różni się od głównej przestrzeni nazw dla Twojego pakietu.
Na przykład, jeśli com.example.myapp
jest główną przestrzenią nazw Twojego pakietu, możesz dodać aktywność do przestrzeni nazw com.example.myapp.activities
.
Spowoduje to błąd "R cannot be resolved".
Aby naprawić import R w domyślnej przestrzeni nazw w Twojej aktywności powinno być:
import com.example.myapp.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-03-13 19:22:44
Wraz z wspaniałymi sugestiami w poprzednich odpowiedziach, upewnij się, że cel Androida jest ustawiony:
- Kliknij prawym przyciskiem myszy swój projekt
- Wybierz Właściwości
- Wybierz Androida w lewym menu
- Zaznacz pole obok odpowiedniego celu budowania projektu.
- Kliknij Zastosuj i OK
Edit: rok później znalazłem inną przyczynę. Miałem .obraz jpg w moim rysowalnym folderze o tej samej nazwie co .obraz png. Odwołanie się do tego obrazka w moim kodzie musi mieć pomylił program i dał błąd "R cannot be resolved".
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-08-25 06:51:53
Upewnij się, że zainstalowałeś Narzędzie Android build tool form sdk manager
Projekt kliknij prawym przyciskiem myszy Właściwości - > Java BuildPath wybierz bibliotekę i dodaj android-support.jar postępuj zgodnie z tymi krokami.
Przejdź do Project->Properties - > Java Build Path, a następnie wybierz zakładkę Zamów i eksportuj. Ustaw obsługę Androida .biblioteka jar sprawdziła i umieściła ją na szczycie listy. I czyste i rebuild..It działa w większości przypadków
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-08-29 07:09:04
Właśnie miałem ten problem po raz milionowy i zdałem sobie sprawę, co go spowodowało: utworzyłem plik XML z wielkimi literami w nazwie. Wszystkie nazwy plików XML w /res
muszą być zgodne z [a-z0-9\\._]
.
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-13 00:48:44
Najprostsze rozwiązanie-czasami wystarczy zapisać plik XML, nad którym pracowałeś, aby uruchomić autogenerator.
Zapisz plik (np. main.xml) następnie usuń R.java plik i sprawdź, czy regenerowany R.java rozwiązuje problem r resolve.
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-10-04 16:22:51
R
jest klasą generowaną. Jeśli używasz Android Development Tools (ADT) jest generowany za każdym razem, gdy projekt jest zbudowany. Być może wyłączyłeś opcję "Build Automatically".
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-08-13 16:53:10
Sprawdź nazwy plików XML. Upewnij się, że wszystkie są pisane małymi literami.
Upewnij się również, że wszystkie nazwy zasobów obrazu są również pisane małymi literami. Miałem wielką literę w nazwie mojego pliku jpg i spowodowało to nierozwiązany błąd R w całym moim projekcie.
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-07-05 11:32:58
Ten błąd pojawił się podczas mojej instalacji x64 Linux Mint. Okazało się, że rezultatem była awaria w pliku ADB
, ponieważ pakiet ia32-libs
nie został zainstalowany. Po prostu uruchomienie apt-get install ia32-libs
i ponowne uruchomienie Eclipse naprawiło błąd.
Jeśli Twoja dystrybucja x64 nie ma ia32-libs, musisz przejść do Multiarch.
Sprawdź #4 i # 5 w tym poście: http://crunchbang.org/forums/viewtopic.php?pid=277883#p277883
Mam nadzieję, że to komuś 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
2014-01-21 01:17:50
Może być konieczna aktualizacja narzędzi SDK. Uruchom ponownie Android SDK Manager i zainstaluj nowy element: Android SDK Build-tools.
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-11-06 04:19:43
Może być konieczne zaktualizowanie / zainstalowanie narzędzi SDK. Uruchom ponownie Android SDK Manager i zainstaluj nowy element: Android SDK Build-tools.jeden po drugim Usuń, napraw, który z nich działa dla Ciebie.
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
2016-04-02 01:36:28
Ja też miałem ten problem. Okazało się, że przypadkowo usunąłem zasób ciągu "app_name" z pliku strings.xml
, co powodowało cichy błąd. Po dodaniu go z powrotem, Klasa R została wygenerowana pomyślnie i wszystko było z powrotem i dział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
2012-08-13 16:53:59
Najpierw sprawdź czy jest jakiś błąd w dowolnym układzie xml, czy nie, Jeśli następnie rozwiąż go najpierw.
W przeciwnym razie usuń zależność junit z projektu i Przebuduj projekt.
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-03-28 07:59:45
Spróbuj zmienić nazwę pliku układu XML małymi literami. Na przykład użyj my_file.xml
zamiast myFile.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
2012-03-13 00:41:13
Kolejny powód R.java
może nie zostać automatycznie wygenerowany, jeśli masz katalogi takie jak res/drawable-hdpi, res/drawable-mdpi lub res / drawable-LDPI.
1.6 + wydaje się być w porządku z tymi katalogami, ale 1.5 ich nie chce. Kiedy usunąłem te katalogi, R.java
znowu zaczął się dla mnie autogenerować.
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-08-13 17:56:07
Po prostu przejdź do listy górnego menu Androida. kliknij na Build Menu, w obszarze Build kliknij na Rebuild Project .
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
2016-03-29 06:28:20
Miałem przykłady Android 8 i próbował używać Android 7 SDK. Kiedy zamknąłem projekt i ponownie otworzyłem folder aplikacji i zdecydowałem się użyć Android 8 SDK, był w stanie znaleźć plik R. 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
2010-11-21 16:48:40
W moim przypadku, miałem błąd w moim AndroidManifest.xml
. Inni mówili, że Twoje pliki XML muszą być wolne od błędów, ale szukałem tylko w folderze res/. Znajdź i napraw jak najwięcej błędów, a problem może sam się rozwiązać.
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-12-21 17:09:28
Często dzieje się tak z powodu numeru wersji MinSDK podanego podczas tworzenia projektu. Przykład:
Jeśli chcesz, aby 2.1 było minimum, Android 2.1 jest w rzeczywistości poziomem API 7.
Możesz zobaczyć, o czym mówię, gdy przeglądasz SDK pobrane i zainstalowane. Przejdź do miejsca, w którym zainstalowałeś SDK (C:\android-sdk-windows
Na przykład) i otwórz folder o nazwie "platforms". Zobaczysz coś takiego jak "android-7" wymieniony jako folder, a jeśli otworzysz, że jest source.properties
plik, który po otwarciu za pomocą edytora tekstu wyświetli odpowiednią wersję platformy.
Kiedy tworzysz projekt i musisz wybrać API" Build Target", ostatnia kolumna na tej liście o nazwie "poziom API" pokazuje numer, którego szukasz podczas wypełniania Ustawienia MinSDK.
Jest to prawdopodobnie jeden z najczęstszych błędów, który powoduje, że plik R.java
nie jest tworzony w ramach projektu > gen > nazwapakietu > R.java.
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-13 00:46:51
Usuń main.out.xml
. Jestem w tym nowy i nie wiem jeszcze do czego służy ten plik, ale usunięcie go usunęło 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
2012-03-13 00:49:34
Niestety żadne z istniejących pytań nie pomogło. Ponieważ mój problem wydaje się specyficzny dla platformy, może to działać tylko wtedy, gdy jesteś na Ubuntu 64 Bit (obecnie używam Ubuntu 12). Na początku nie widziałem okna "problemy" , które już wskazywało na rozwiązanie, że w środowisku 64 bitowym potrzebujesz 32 bitowych bibliotek, których może brakować:
Sudo apt-get install ia32-libs
Zainstalowałem pakiet i przebudowałem projekt, który naprawił problem z ja.
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-03-24 11:53:42