Spróbowałem więc Android Studio, ponieważ bardzo lubię Resharper i zauważyłem, że IDE ma wbudowaną część swojej funkcjonalności. Po utworzeniu domyślnego nowego projektu dodałem nowy plik układu i chciałem zmienić istniejący domyślny przykładowy układ „Hello world”. Otrzymałem błąd „URI nie jest zarejestrowany” w następujących wierszach:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
Nie zrobiłem jeszcze nic więcej w domyślnym wygenerowanym projekcie. Natknąłem się na inne pytanie, które wydaje się być powiązane ( nie zarejestrowano identyfikatora URI schematu projektu Intellij Android? ), Ale ignorowanie czegoś wydaje mi się dziwne. Rzeczywiście próbowałem, ale to powoduje RelativeLayout
(i prawdopodobnie wszystkie inne rzeczy związane z Androidem) nie są już rozpoznawane (komunikat o błędzie: „Nie można znaleźć deklaracji elementu„ RelativeLayout ””).
Jakieś pomysły, jak rozwiązać ten problem?
źródło
Odpowiedzi:
Masz ten problem, ponieważ jesteś w złym miejscu docelowym! Prawidłowy katalog dla pliku zasobów układu musi znajdować się w „res-layout”, a nie „res-all-layout”
źródło
U mnie było tak, ponieważ używałem wariantu kompilacji do debugowania i wydania. Dodałem ręcznie nowe foldery src / debug / res / layout / some_layout.xml i nie rozpoznałem URI. Zmieniłem wariant kompilacji na wydanie, a następnie wróciłem do debugowania. To spowodowało, że Android Studio coś przeładowało, a błąd zniknął.
EDYCJA: Sprawdź również, czy masz poprawną nazwę pliku. Miałem ten problem ponownie, dodając debugowanie AndroidManifest.xml, ale omyłkowo nazwał go AndroidManifest.xml.xml.
źródło
Używam Intellij IDEA, ale myślę, że będzie działać również w Android Studio, czy widzisz "Dziennik zdarzeń" w prawym dolnym rogu IDE, czy był taki komunikat " Wykryto strukturę Androida w projekcie Configure ", to znaczy, że powinien mieć konfigurację szkieletową. Jeśli tak, po prostu kliknij łącze do wiadomości.
W ten sam sposób możesz przejść do „ Plik> Struktura projektu> Moduły ”, a następnie dodać aspekt systemu Android.
Nawiasem mówiąc, jeśli chcę użyć niestandardowej przestrzeni nazw, tak jak ty, zapiszę identyfikator zasobu jako nazwę mojego pakietu, ponieważ definiuję atrybut pakietu AndroidManifest.xml elementu manifestu, poniżej jest mój kod.
Mam nadzieję, że to ci pomoże.
źródło
Ten problem pojawił się u mnie nagle, bez powodu. Właśnie zamknąłem wszystkie karty w Android Studio i ponownie otworzyłem plik xml, który miał problemy. Problem rozwiązany! :)
źródło
W Android Studio 3.1.2 ten błąd występuje z powodu nieprawidłowego sprawdzania poprawności pamięci podręcznej.,
Spowoduje to usunięcie pamięci podręcznej, a ponowne załadowanie projektu spowoduje utworzenie nowego folderu pamięci podręcznej i sprawi, że będzie dobrze.,
źródło
To problemy z wtyczkami.
wtedy automatycznie zrestartuje twoje studio i wszystko będzie dobrze.
mam nadzieję, że to zadziała.
źródło
Mój problem polegał na tym, że moje foldery miały następującą strukturę:
MyProject/ res/ layout/ main.xml layout-land/ main.xml
(Mój
Slayout-land
folder był w moimlayout
folderze)Zmieniłem strukturę na taką i u mnie zadziałało:
MyProject/ res/ layout/ main.xml layout-land/ main.xml
Mam nadzieję, że to pomoże!
źródło
Nie znam przyczyny tego błędu, ale gdzieś się o tym dowiedziałem i to rozwiązało mój problem.
źródło
okazuje się, że edytowałem wersję DEBUG pliku xml, aby to naprawić, po prostu zamknij zakładkę z błędem i otwórz ją ponownie
źródło
miałem ten sam błąd. Rozwiązałem to, ponownie importując projekt do studia Android.
źródło
Dla mnie Wtyczka
Android Support
zostaje w jakiś sposób wyłączona. Włączenie wtyczek ponownie zadziałało.źródło
Wybierz odpowiedni smak w wariantach budowania.
Jeśli przeglądasz określony plik pod Flavour1, wybierz ten smak w oknie BuildVariants.
Jeśli twoim IDE jest Android Studio (3.2.1 w chwili pisania tego tekstu), powinieneś znaleźć okno Build Variants w lewym dolnym rogu, wyrównane pionowo.
źródło
Czasami ten błąd jest skorelowany z innymi błędami w twoim manifeście. Sprawdź, czy brakuje jakichś zależności i czy wszystkie tagi są zamknięte. W moim przypadku usunąłem folder w folderze / res, przywróciłem go i ten błąd zniknął.
źródło
Dla mnie w szkodliwych plikach xml brakowało wiersza nagłówka ...
Dodanie tego naprawiło problem.
źródło
Zacząłem znowu to robić. W rzeczywistości działa teraz, aby dodać trochę śmieci do pliku build.gradle. Następnie spróbuj zsynchronizować. Gdy się nie powiedzie, usuń śmieci i zsynchronizuj ponownie. Po zindeksowaniu działa.
źródło
mam nadzieję, że to zadziała.
źródło
Dla mnie klonuję projekt z gitlab, jest spis treści:
wtedy napotykam ten problem, rozwiązuję problem za pomocą poniższej metody:
źródło
Nowy system kompilacji w Android Studio tworzy
build
folder. Pasek kontroli kodu znajduje się w tym folderze, a także wgradle
folderze. Te foldery należy zignorować podczas przeprowadzania inspekcji kodu.Zgłosiłem problem z zespołem Android Studio pod adresem:
https://code.google.com/p/android/issues/detail?id=56415
źródło
Miałem ten problem teraz - utworzyłem nowy folder w folderze układu, który zawierałby cały plik XML związany z moją stroną główną mojej aplikacji, a następnie inny folder, który odnosiłby się do mojej strony „ustawień”, ponieważ chciałem uporządkować xml.
Jednak system Android rozpoznaje tylko folder układu dla plików XML, a nie folder układu / domu lub układu / ustawień, dlatego właśnie wyświetlał mi błąd.
Dzięki odpowiedzi Mazena Kassera, pomógł mi to rozgryźć.
źródło
Wpadłem na tę niedawną próbę migracji istniejącej aplikacji do Material Design. Wszystko, co musiałem zrobić, aby to naprawić, to zmienić wersję Compile SDK projektu. Plik | Ustawienia projektu. Wybierz aplikację i wybierz wersję Compile SDK dla wersji Lollipop lub nowszej.
źródło
Każde wymienione tutaj rozwiązanie pomogło mi. Opublikuję swój problem na wypadek, gdyby był pomocny dla kogoś. W moim przypadku błąd występował przy użyciu wiązania danych . Wygląda na to, że za pomocą powiązania danych XML tworzone są pośrednie. Jeśli wystąpi błąd podczas próby otwarcia, wyświetli się pośredni plik XML z tym „ niezarejestrowanym identyfikatorem URI ” zamiast otwierania właściwego pliku XML z błędem.
źródło
Miałem ten problem i dla mnie było to spowodowane tworzeniem i manipulowaniem plikami zasobów poza Android Studio. Postępowałem zgodnie z instrukcjami dotyczącymi tworzenia nowych plików zasobów i folderów za pośrednictwem Android Studio i rozwiązałem problem. Musisz utworzyć nowy katalog Resource File Not. Pozwoli ci to określić lub utworzyć katalog, jeśli tego potrzebujesz. Jeśli tworzysz katalogi dla układów dla różnych wersji, wprowadź informacje u góry, w tym nazwę pliku zasobów, który chcesz skopiować do nowego folderu, wybierz Wersja i wprowadź wersję Androida. Utworzy odpowiedni katalog z kopią twojego zasobu.
źródło
Kolejna sugestia, która była dla mnie rozwiązaniem: mam błąd w linii
w pliku values.xml, który został automatycznie wygenerowany podczas procesu kompilacji.
Zostało to rozwiązane przez dodanie
android
przedrostka w pliku styles.xml.musiał zostać zmieniony na
źródło
Co mi to naprawiło, o czym do tej pory nie widziałem - jeśli masz wiele „smaków”, upewnij się, że aktualnie wybrany „wariant kompilacji” odpowiada smakowi pliku układu, który próbujesz wyświetlić.
źródło
Każdy, kto otrzyma ten błąd zaraz po zaimportowaniu projektu, może mieć nieudany początkowy import / synchronizację stopni. Zwykle występuje z poważnymi błędami (migający wykrzyknik w prawym dolnym rogu). Dla mnie to była bardzo dziwna przyczyna (folder projektu był połączony symbolicznie): https://stackoverflow.com/a/52952148/44166
źródło
Napotkałem ten sam problem podczas otwierania Android React Native Project w Android Studio.
Główną przyczyną jest to, że otworzyłem folder główny projektu React Native zamiast folderu Android projektu React Native.
Ponowne otwarcie projektu w folderze Androida React Native Project rozwiązało mój problem.
źródło
Spróbuj zainstalować wtyczkę śledzenia systemu Android. znajdziesz to w studio.
Uruchom ponownie studio
źródło