Ответ 1
У вас возникла эта проблема, потому что вы ошибаетесь! Правильный каталог для файла ресурсов Layout должен находиться под "res-layout", а не "res-all-layout"
Итак, я дал 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 URI не зарегистрирован?), но просто игнорируя что-то странное для меня. Я действительно пробовал, но это заставляет RelativeLayout
(и, возможно, все другие связанные с Android вещи) больше не распознаваться (сообщение об ошибке: "Не удается найти объявление элемента RelativeLayout" ).
Любые идеи о том, как решить эту проблему?
У вас возникла эта проблема, потому что вы ошибаетесь! Правильный каталог для файла ресурсов Layout должен находиться под "res-layout", а не "res-all-layout"
Для меня это было потому, что я использовал вариант отладки и выпуска. Я добавил файлы папок src/debug/res/layout/some_layout.xml вручную, и он не распознал URI. Я переключил вариант сборки для выпуска, а затем вернулся к отладке. Это заставило Android Studio перезагрузить что-то, и ошибка исчезла.
EDIT: Также проверьте, что у вас есть правильное имя файла. У меня была эта проблема снова, добавив отладчик AndroidManifest.xml, но по ошибке назвал его AndroidManifest.xml.xml.
Я использую Intellij IDEA, но я думаю, что он также будет работать в Android Studio, вы можете увидеть "Журнал событий" в правом нижнем углу IDE, было ли у него какое-то сообщение вроде этого " Android-инфраструктура обнаружена в проекте Настроить", это означает, что у вас должна быть конфигурация фреймворка. Если да, просто следуйте ссылке.
Таким же образом вы можете перейти к " Файл > Структура проектa > Модули", а затем добавить фасет Android.
Кстати, если я хочу использовать настроенное пространство имен, как и вы, я напишу идентификатор ресурса в качестве имени моего пакета, поскольку я определяю атрибут пакета 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>
Надеюсь, это поможет вам.
Эта проблема внезапно появилась для меня, без всякой причины. Я просто закрыл все вкладки в Android Studio и снова открыл файл xml, у которого были проблемы. Задача решена!:)
В Android Studio 3.1.2 эта ошибка возникает из-за неправильной проверки кеш-памяти.,
Перейдите в папку Project и удалите все содержимое в папке .idea.
Это приведет к удалению кеш-памяти, а перезагрузка проекта создаст новую папку кеш-памяти и сделает ее полезной.,
У него проблемы с плагинами.
то он автоматически перезапустит вашу студию, и все будет хорошо.
надеюсь, что это сработает.
Моя проблема заключалась в том, что мои папки были структурированы как:
MyProject/
res/
layout/
main.xml
layout-land/
main.xml
(Моя папка Slayout-land
находилась в папке layout
)
Я изменил структуру на это, и это сработало для меня:
MyProject/
res/
layout/
main.xml
layout-land/
main.xml
Я надеюсь, что это поможет!
Не знаю причины этой ошибки, но я узнал об этом где-то и решил мою проблему.
Оказывается, я редактировал версию xml для DEBUG, чтобы исправить ее, просто закройте вкладку с ошибкой и снова откройте ее.
У меня была такая же ошибка. Я решил это, снова импортировав проект в студию Android.
Для меня плагин Android Support
как-то отключен. Включение плагинов снова сработало для меня.
Settings > Plugins > Android Support
Выберите подходящий вкус в Build Variants.
Если вы просматриваете определенный файл в разделе Flavour1, выберите этот вариант в окне BuildVariants.
Если вашей IDE является Android Studio (3.2.1 на момент написания этой статьи), вы должны найти окно Build Variants в левом нижнем углу, выровненное по вертикали.
Иногда эта ошибка коррелирует с другими ошибками в вашем манифесте. Проверьте, есть ли какие-то недостающие зависимости и все ли теги закрыты. В моем случае я удалил папку в папке /res, я ее восстановил и эта ошибка исчезла.
Для меня, в файлах с нарушением xml отсутствует строка заголовка...
<?xml version="1.0" encoding="utf-8"?>
Добавление этого исправленного.
Начну с того, что вы снова это сделали, теперь на самом деле работает, чтобы добавить мусор внутри build.gradle. Затем попробуйте и синхронизируйте. Когда он не удается удалить мусор и повторно синхронизировать. После индексирования он работает.
надеюсь, что это сработает.
Для меня я отсутствовал compile 'com.android.support:cardview-v7:25.0.1'
в файле build.gradle(Module)
Для меня, я клонирую проект из gitlab, есть оглавление:
TradeClient/TradeClient/приложение/...
тогда я сталкиваюсь с этой проблемой, я решаю проблему по методу ниже:
Новая система сборки в Android Studio создает папку build
. Проверки кода проверяются в этой папке, а также в папке gradle
. Эти папки следует игнорировать при проверке кода.
Я поднял проблему с командой Android Studio по адресу:
У меня была эта проблема сейчас - я создал новую папку в папке макета, которая будет содержать все xml, относящиеся к моей "домашней" странице моего приложения, а затем еще одну папку, которая будет относиться к моей странице настроек, как я хотел для организации моего xml.
Тем не менее, android распознает только папку макета для xmls, а не папку layout/home или layout/settings, поэтому он дал мне ошибку.
Благодаря ответу Мазена Кассера он помог мне разобраться в этом.
В последнее время вы пытаетесь перенести существующее приложение в материальный проект. Все, что мне нужно было сделать, чтобы исправить это, было изменение проекта Compile SDK Version. Файл | Настройки проекта. Выберите приложение и выберите версию SDK компиляции для Lollipop или выше.
Любое решение, упомянутое здесь, помогло мне. Я отправлю свою проблему на всякий случай, полезен для всех. В моем случае ошибка происходила с использованием привязки данных. Похоже, что с использованием связывания данных xmls промежуточных элементов создаются. Если есть ошибка при попытке открыть ошибку, вы увидите промежуточный xml с этим " URI, не зарегистрированным", вместо того, чтобы открывать правый xml с ошибкой.
В течение большей части времени он будет решен проектом Rebuild Project
Для меня я поместил xml файл в папку значений вручную. Тогда проблема показывает. Я также заметил, что имя файла xml и имя массива в его дате были одинаковыми. Итак, я переименовал имя файла xml и перезапустил студию Android.
Проблема ушла!
У меня была эта проблема, и для меня это было связано с созданием и управлением файлами ресурсов за пределами Android Studio. Я выполнил инструкции по созданию новых файлов и папок ресурсов через Android Studio и решил проблему. Вам нужно создать новый каталог файлов ресурсов. Это позволит вам указать или создать каталог для вас, если вам это нужно. Если вы создаете каталоги для макетов для разных версий, введите информацию вверху, включая имя файла ресурсов, который вы хотите скопировать, в новую папку и выберите "Версия" и введите версию Android. Он создаст соответствующий каталог с копией вашего ресурса.
Другое предложение, которое было для меня решением: Я получил ошибку в строке
<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>
Что исправило для меня то, что я до сих пор не упомянул - если у вас есть несколько вариантов, убедитесь, что выбранный в данный момент вариант сборки соответствует варианту файла макета, который вы пытаетесь просмотреть.
Любой, кто получит эту ошибку сразу после импорта проекта, может столкнуться с неудачным начальным импортом/синхронизацией gradle. Обычно это встречается с серьезными ошибками (мигающий восклицательный знак в правом нижнем углу). Для меня это была очень странная причина (папка проекта была символической): fooobar.com/questions/16920454/...
Я просто закрываю проект, когда сталкиваюсь с этой проблемой, а затем снова открываю проект, переходя вручную в мою папку, где находится проект, вместо того, чтобы переходить к проектам и открывать их.
Я столкнулся с той же проблемой при открытии Android-проекта React Native в Android Studio.
Основная причина в том, что я открыл корневую папку React Native Project вместо папки Android в React Native Project.
Повторное открытие проекта в папке Android React Native Project решило мою проблему.