Чому Android Studio повідомляє "URI не зареєстрований"? [зачинено]


161

Тому я спробував Android Studio, тому що мені дуже подобається Resharper і помітив, що в IDE вбудований якийсь їх функціонал. Створивши новий проект за замовчуванням, я додав новий файл макета і хотів змінити наявний приклад макета "привіт світ", і я отримав помилку "URI не зареєстрований" у наступних рядках:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"

Я ще нічого не робив для створеного за замовчуванням проекту. Я зіткнувся з ще одним питанням, яке, схоже, пов’язане ( схема URI проекту Intellij Android не зареєстрована? ), Але просто ігноруючи щось, мені здається дивним. Я насправді спробував це, але це спричиняє RelativeLayout(і, ймовірно, всі інші пов'язані з Android речі) більше не розпізнавати (повідомлення про помилку: "Неможливо знайти декларацію елемента" RelativeLayout "").

Будь-які ідеї, як вирішити цю проблему?


9
Закриття та повторне відкриття Android Studio вирішило цю проблему для мене :)
Umair

1
Недійсний і перезавантажте кеш, тоді він працює
thewhitetulip

Відповіді:


150

Виникла ця проблема, оскільки ви не в іншому місці призначення! Правильний каталог файлу ресурсу макета повинен міститись у розділі "res-layout", а не "res-all-layout"


2
Ага так, ви абсолютно праві. Помилка, яку я зробила, полягала в тому, що я відкрив файл з <root root> \ <назва проекту> \ build \ res \ all \ debug \ layout (він відкритий за замовчуванням, я думаю, і він звик працювати зверху вниз, я думаю, що пояснює плутанину). Натомість слід поглянути на <root root> \ <назва проекту> \ src \ main \ res \ layout.
Xilconic

У мене був такий самий випуск для файлу маніфесту, що робити
Prasad

Дякую!! Для мене це чудово працює ..
Vinoth Vino

1
Я потрапив у ту ж проблему, але мої шляхи були правильними. Це було остаточно виправлено недійсним / перезапуском. Просто вимкнути кеш не вдалося. СІЛЬКО! :)
Стівен Сміт

1
для мене працює недійсна / перезапуск. дякую @stevensmith
Абдул Самад

51

Для мене це було тому, що я використовував варіант налагодження та версії для випуску. Я додав нові папки src / debug / res / layout / some_layout.xml файл вручну, і він не розпізнав URI. Я переключив варіант збірки на випуск, а потім назад на налагодження. Це призвело до того, що Android Studio щось перезавантажив, і помилка усунулася.

РЕДАКТУВАННЯ. Також перевірте, чи маєте ви правильне ім'я файлу. У мене виникла ця проблема знову, додавши налагодження AndroidManifest.xml, але помилково назвав її AndroidManifest.xml.xml.


2
Це працювало для мене. Для тих, хто шукає, як переключити варіант збірки, він знаходиться на крайній лівій панелі AS, написаній збоку. Клацніть по ньому, тоді під ним "налагодження" - це насправді спадне меню.
Лемуель

1
Для мене те саме було. Якщо ви дивитесь на іншу смакову компоновку програми, налаштовану програму, то, що завантажується студією Android, ви отримаєте помилку.
Neeraj Shukla

Це працює як шарм !! дякую
Virag Brahme

Ти врятував мій день !!
Аді

39

Я використовую Intellij IDEA, але я думаю, що він також працюватиме в Android Studio. Чи можна побачити "Журнал подій" у правому нижньому куті IDE, чи було у нього якесь повідомлення на зразок " Рамка Android виявлена ​​в проекті Налаштування ", це означає, що ви повинна мати рамкову конфігурацію. Якщо так, просто перейдіть за посиланням на повідомлення.
Таким же чином можна перейти до " Файл> Структура проекту> Модулі ", а потім додати Android Facet.

введіть тут опис зображення

до речі, якщо я хочу використовувати індивідуальну область імен, як ви, я напишу ідентифікатор ресурсу як своє ім'я пакета, коли я визначаю атрибут пакета AndroidManifest.xml елемента маніфесту, нижче - мій код.

<manifest package="com.my.name.android">
    ...
</manifest>

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/apk/res/com.my.name.android">
</RelativeLayout>

Сподіваюся, це вам допоможе.


2
@Michael Алан Хафф, дуже дякую, що ти мене навчаєш.
VinceStyling

немає проблем :) щаслива укладання.
Майкл Алан Хафф

17

Ця проблема з’явилася для мене раптово, без будь-яких причин. Я щойно закрив усі вкладки в Android Studio і знову відкрив XML-файл, у якого виникли проблеми. Проблема вирішена! :)


3
врятувало мені життя ... :)
bangkokguy

це допомагає лише до наступного разу, коли я намагаюся запустити додаток
AvielNiego

Недійсний і перезавантажте кеш, тоді він працює
thewhitetulip

8

В Android Studio 3.1.2 ця помилка виникає через неправильну перевірку кеш-пам'яті.,

Перейдіть у папку Project і видаліть увесь вміст у папці .idea

Це видалить кеш-пам'ять, і при перезавантаженні проекту буде створено нову папку кеш-пам’яті, і це буде добре пройти.,


6

Проблеми з плагінами.

  1. Перезапустіть свою андроїд-студію.
  2. З'явиться спливаюче вікно для включення плагінів
  3. натисніть на увімкнути плагіни, а потім на ОК.

тоді він автоматично перезапустить вашу студію і працює добре.

сподіваюся, що це спрацює.


5

Моя проблема полягала в тому, що мої папки були структуровані як:

MyProject/ res/ layout/ main.xml layout-land/ main.xml

(Моя Slayout-landпапка була в моїй layoutпапці)

Я змінив структуру на це, і це працювало на мене:

MyProject/ res/ layout/ main.xml layout-land/ main.xml

Я сподіваюся, що це допомагає!


5

Не знаю причину цієї помилки, але я десь дізнався це, і це вирішило мою проблему.

  • Перейдіть до "Файл> Структура проекту> Модулі"
  • Натисніть "Додати (+) "
  • Клацніть "android" і "Apply", а потім "ok"

4

виявляється, я редагував DEBUG версію xml, щоб виправити її, просто закрийте вкладку, яка містить помилку, і знову відкрийте її



2

Для мене плагін Android Supportотримати інвалід якось. Увімкнення плагінів знову працювало для мене.

Settings > Plugins > Android Support

2

Виберіть відповідний аромат у Варіантах побудови.

Якщо ви переглядаєте певний файл під Flavour1, виберіть цей аромат у вікні BuildVariants.

Якщо ваш IDE - Android Studio (3.2.1 станом на цей текст), вам слід знайти вікно варіантів збирання внизу зліва, вирівняне вертикально.


1

Іноді ця помилка співвідноситься з іншими помилками у вашому маніфесті. Перевірте, чи є якісь відсутні залежності та чи закриті всі теги. У моєму випадку я видалив папку в папці / res, я відновив її, і ця помилка зникла.


1

Для мене у файлах XML-образливих файлів бракує рядка заголовка ...

<?xml version="1.0" encoding="utf-8"?>

Додавши це виправлено.


1

Почав отримувати це знову, що насправді працює зараз - це додати трохи сміття всередині build.gradle. Потім спробуйте синхронізувати. Коли це не вдасться, видаліть сміття та повторно синхронізуйте. Після індексації він працює.


1
  • Перейдіть до "Налаштування> Мови та рамки> Схеми та DTDS"
  • Натисніть "Додати (+)"
  • Натисніть "застосувати", а потім "добре"

сподіваюся, що це спрацює.


просто додайте URL-адресу.
Скарлет

1

Для мене я клоную проект з gitlab, є зміст:

TradeClient / TradeClient / app / ...

то я зіткнувся з цією проблемою, і я вирішу проблему методом нижче:

  • видалити середній шлях "TradeClient", як TradeClient / app / ...
  • потім Файл -> Недійсний кеш / Перезапуск ...

0

Нова система збірки в Android Studio створює buildпапку. Перевірка коду цієї папки, а такожgradle папка. Ці папки, мабуть, слід ігнорувати під час запуску перевірки коду.

Я порушив проблему з командою Android Studio за адресою:

https://code.google.com/p/android/isissue/detail?id=56415


0

У мене була ця проблема зараз - я створив нову папку під папкою макета, яка містила б усі файли xml, що стосуються моєї "домашньої" сторінки мого додатка, а потім ще одну папку, яка стосуватиметься моєї сторінки "налаштувань", як я хотів організувати свою xml

Однак, android розпізнає папку макета лише для xmls, а не папку layout / home або layout / settings, тому він давав мені помилку.

Завдяки відповіді Мазен Кассер, він допоміг мені розібратися в цьому.


0

Нещодавно наткнувшись на це, намагаючись перенести існуючий додаток на матеріальний дизайн. Все, що мені потрібно було зробити, щоб виправити це, було змінити версію компіляції SDK проекту. Файл | Налаштування проекту Виберіть додаток і виберіть версію компіляції SDK для Lollipop або новішої версії.


0

Будь-яке згадане тут рішення допомогло мені. Я опублікую свою проблему на випадок, якщо хтось корисний. У моєму випадку помилка сталася за допомогою прив’язки даних . Схоже, що з використанням зв'язування даних створюються проміжні xmls. Якщо під час спроби відкрити помилку буде показано проміжний xml із цим " URI не зареєстрований " замість того, щоб відкрити правильний xml з помилкою.


0

У мене була ця проблема, і для мене це було пов'язано зі створенням та маніпулюванням файлами ресурсів за межами Android Studio. Я дотримувався вказівок щодо створення нових ресурсних файлів і папок через Android Studio і вирішив проблему. Потрібно створити новий каталог файлів ресурсу Not Not. Це дозволить вам вказати або створити каталог для вас, якщо він вам потрібен. Якщо ви створюєте каталоги для макетів для різних версій, введіть інформацію вгорі, включаючи назву файла ресурсу, який ви хочете скопіювати, у нову папку та виберіть Версія та введіть версію Android. Він створить відповідний каталог із копією вашого ресурсу в ньому.


0

Ще одна пропозиція, яка була для мене рішенням: я отримав помилку в рядку

<resources xmlns:ns1="http://schemas.android.com/tools" xmlns:ns2="urn:oasis:names:tc:xliff:document:1.2">

у файлі values.xml, який автоматично генерувався в процесі збирання.

Це було вирішено, додавши androidпрефікс у файл styles.xml.

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="textColorPrimary">@color/textColorPrimary</item>
        <item name="colorBackground">@color/colorPrimaryDark</item>
    </style>

довелося змінити на

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:textColorPrimary">@color/textColorPrimary</item>
        <item name="android:colorBackground">@color/colorPrimaryDark</item>
    </style>

0

Що для мене виправило те, що я до цього часу не бачив - якщо у вас є кілька "ароматів", переконайтесь, що вибраний на даний момент варіант "збірки" відповідає аромату файлу макета, який ви намагаєтеся переглянути.


0

Кожен, хто отримує цю помилку відразу після імпорту проекту, може потрапити на невдалий початковий імпорт / синхронізацію градусів. Зазвичай він стикається з серйозними помилками (миготливий знак оклику в правому нижньому куті). Для мене це була дуже дивна причина (папка проекту була позначена посиланням): https://stackoverflow.com/a/52952148/44166


0

Я зіткнувся з такою ж проблемою під час відкриття Android React Native Project в Android Studio.

Першопричиною є те, що я відкрив кореневу папку React Native Project замість андроїдної папки React Native Project.

Повторно відкрити проект у папці android React Native Project вирішив мою проблему.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.