¿Por qué Android Studio informa "URI no está registrado"? [cerrado]


160

Así que probé con Android Studio, porque realmente me gusta Resharper y noté que el IDE tenía incorporadas algunas de sus funciones. Después de haber creado un nuevo proyecto predeterminado, agregué un nuevo archivo de diseño y quise cambiar el diseño de ejemplo predeterminado 'hola mundo' existente, y obtuve un error "URI no está registrado" en las siguientes líneas:

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

Todavía no he hecho nada más al proyecto generado por defecto. Me he encontrado con otra pregunta que parece estar relacionada ( ¿el URI del esquema del proyecto de Android Intellij no está registrado? ), Pero ignorar algo me parece extraño. En realidad lo intenté, pero eso hace que RelativeLayout(y probablemente todas las demás cosas relacionadas con Android) ya no sean reconocidas (mensaje de error: "No se puede encontrar la declaración del elemento 'RelativeLayout'").

¿Alguna idea sobre cómo resolver este problema?


9
Cerrar y volver a abrir Android Studio resolvió este problema para mí :)
Umair

1
Invalidar y reiniciar el caché y luego funciona
thewhitetulip

Respuestas:


149

¡Tienes este problema porque estás en el destino equivocado! El directorio correcto para el archivo de recursos de diseño debe estar en "res-layout" no "res-all-layout"


2
Ah sí, tienes toda la razón. El error que cometí fue que abrí el archivo desde <raíz del proyecto> \ <nombre del proyecto> \ build \ res \ all \ debug \ layout (creo que está abierto de forma predeterminada y creo que estoy acostumbrado a trabajar de arriba a abajo) eso explica la confusión). En cambio, uno debería mirar a <raíz del proyecto> \ <nombre del proyecto> \ src \ main \ res \ layout.
Xilconic

tuve el mismo problema con el archivo de manifiesto qué hacer
Prasad

¡¡Gracias!! Funciona muy bien para mí ..
Vinoth Vino

1
Llegué al mismo problema pero mis caminos eran correctos. Finalmente fue arreglado por invalidar / reiniciar. Simplemente invalidar el caché no funcionó. ¡AUGH! :)
steven smith

1
para mí invalidar / reiniciar funcionó. gracias @stevensmith
Abdul Samad

51

Para mí esto fue porque estaba usando una variante de compilación de depuración y lanzamiento. Agregué las nuevas carpetas src / debug / res / layout / some_layout.xml manualmente, y no reconoció el URI. Cambié la variante de compilación a versión y luego volví a depurar. Esto provocó que Android Studio volviera a cargar algo y el error desapareció.

EDITAR: también verifique que tenga el nombre de archivo correcto. Tuve este problema nuevamente al agregar un AndroidManifest.xml de depuración, pero erróneamente lo llamé AndroidManifest.xml.xml.


2
Esto funcionó para mí. Para aquellos que buscan cómo cambiar la variante de compilación, está en el panel izquierdo de AS, escrito de lado. Haga clic en él, luego debajo de él "depurar" es en realidad un menú desplegable.
lemuel

1
Para mí, lo mismo era cierto. Si está buscando un diseño de sabor diferente de la aplicación personalizada, entonces lo que carga Android studio, obtendrá un error.
Neeraj Shukla

¡Esto funciona de maravilla! gracias
Virag Brahme

Salvaste mi día !!
Adi

39

Utilizo Intellij IDEA pero creo que también funcionará en Android Studio. ¿Puede ver el "Registro de eventos" en la esquina inferior derecha del IDE? ¿Tenía algún mensaje como " Se detectó el marco de Android en el proyecto Configurar ", eso significa que debe tener una configuración de marco. Si es así, solo sigue el enlace del mensaje.
De la misma manera, puede ir a " Archivo> Estructura del proyecto> Módulos " y luego agregar una Faceta de Android.

ingrese la descripción de la imagen aquí

por cierto, si quiero usar un espacio de nombres personalizado como lo haces, escribiré el identificador de recursos como el nombre de mi paquete mientras defino el atributo del paquete AndroidManifest.xml del elemento manifiesto, a continuación está mi código.

<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>

Espero que esto te ayude.


2
@Michael Alan Huff, muchas gracias por enseñarme.
VinceStyling

no hay problema :) feliz apilamiento.
Michael Alan Huff

17

Este problema apareció de repente para mí, sin ningún motivo. Acabo de cerrar todas las pestañas en Android Studio y volví a abrir el archivo xml que tenía problemas. ¡Problema resuelto! :)


3
salvó mi vida ... :)
bangkokguy

eso solo ayuda hasta la próxima vez que intente ejecutar la aplicación
AvielNiego

Invalidar y reiniciar el caché y luego funciona
thewhitetulip

8

En Android Studio 3.1.2, este error se produce debido a una validación incorrecta de la memoria caché.

Vaya a la carpeta Proyecto y elimine todo el contenido de la carpeta .idea

Esto eliminará la memoria caché y volver a cargar el proyecto creará una nueva carpeta de memoria caché y hará que funcione.


6

Es un problema de complementos.

  1. Reinicia tu estudio de Android.
  2. Mostrará una ventana emergente para habilitar complementos
  3. haga clic en habilitar complementos y luego haga clic en Aceptar.

entonces reiniciará automáticamente su estudio y funcionará bien.

Espero que funcione.


5

Mi problema era que mis carpetas estaban estructuradas como:

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

(Mi Slayout-landcarpeta estaba en mi layoutcarpeta)

Cambié la estructura a esto y funcionó para mí:

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

¡Espero que esto ayude!


5

No sé la razón detrás de este error, pero descubrí esto en alguna parte y resolvió mi problema.

  • Vaya a "Archivo> Estructura del proyecto> Módulos"
  • Haga clic en "agregar (+) "
  • Haga clic en "Android" y "Aplicar" y luego en "Aceptar"

4

Resulta que estaba editando la versión DEPURACIÓN del xml, para solucionarlo, simplemente cierre la pestaña que tiene el error y vuelva a abrirlo



2

Para mí, el complemento Android Supportse desactiva de alguna manera. Habilitar complementos nuevamente funcionó para mí.

Settings > Plugins > Android Support

2

Seleccione el sabor apropiado en Build Variants.

Si está viendo un archivo en particular en Flavour1, seleccione ese sabor en la ventana BuildVariants.

Si su IDE es Android Studio (3.2.1 al momento de escribir esto), debería encontrar la ventana Build Variants en la parte inferior izquierda, alineada verticalmente.


1

A veces este error está correlacionado con otros errores en su manifiesto. Compruebe si faltan algunas dependencias y si todas las etiquetas están cerradas. En mi caso, eliminé una carpeta en la carpeta / res, la restauré y ese error desapareció.


1

Para mí, a los archivos xml ofensivos les faltaba la línea de encabezado ...

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

Agregar eso lo arregló.


1

Comencé a obtener esto nuevamente, lo que realmente funciona ahora es agregar algo de basura dentro de build.gradle. Luego intente y sincronice. Cuando falla, elimine la basura y vuelva a sincronizar. Después de la indexación, funciona.


1
  • Vaya a "Preferencias> Idiomas y marcos> Esquemas y DTDS"
  • Haga clic en "agregar (+)"
  • Haga clic en "aplicar" y luego en "ok"

Espero que funcione.


solo agrega tu url.
Scarlett

1

Para mí, clono un proyecto de gitlab, hay una tabla de contenido:

TradeClient / TradeClient / app / ...

entonces encuentro este problema, lo resuelvo por el siguiente método:

  • elimine la ruta intermedia "TradeClient", como TradeClient / app / ...
  • luego Archivo -> Invalidar cachés / reiniciar ...


0

Tenía este problema ahora: creé una nueva carpeta debajo de la carpeta de diseño que contendría todo lo relacionado con xml con mi página de "inicio" de mi aplicación y luego otra carpeta que se relacionaría con mi página de "configuración", ya que quería organizar mi xml.

Sin embargo, Android solo reconoce la carpeta de diseño para xmls, no la carpeta de diseño / inicio o diseño / configuración, por eso me dio el error.

Gracias a la respuesta de Mazen Kasser, me ayudó a resolver esto.


0

Me encontré con esto recientemente tratando de migrar una aplicación existente al diseño de materiales. Todo lo que tuve que hacer para solucionarlo fue cambiar la versión del SDK de compilación del proyecto. Archivo | Configuración del proyecto. Seleccione la aplicación y elija una versión de Compilar SDK para Lollipop o superior.


0

Cualquier solución mencionada aquí me ayudó. Publicaré mi problema en caso de que sea útil para alguien. En mi caso, el error ocurría usando el enlace de datos . Parece que con el enlace de datos se crean intermedios xmls. Si hay un error al intentar abrir, el error mostrará el xml intermedio con este " URI no registrado " en lugar de abrir el xml correcto con el error.


0

Tuve este problema y para mí fue debido a la creación y manipulación de archivos de recursos fuera de Android Studio. Seguí las instrucciones sobre cómo crear nuevos archivos y carpetas de recursos a través de Android Studio y resolví el problema. Necesita crear un nuevo directorio de Archivo de recursos no. Le permitirá especificar o crear un directorio para usted si lo necesita. Si está creando directorios para diseños para diferentes versiones, ingrese la información en la parte superior, incluido el nombre del archivo de recursos que desea copiar en la nueva carpeta y seleccione Versión e ingrese la versión de Android. Creará el directorio apropiado con una copia de su recurso.


0

Otra sugerencia, que fue la solución para mí: recibí el error en la línea

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

en el archivo values.xml que se generó automáticamente durante el proceso de compilación.

Se resolvió agregando el androidprefijo en el archivo 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>

tuvo que ser cambiado a

<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

Lo que me solucionó que no he visto hasta ahora: si tiene varios 'sabores', asegúrese de que la 'variante de compilación' seleccionada actualmente coincida con el sabor del archivo de diseño que está tratando de ver.


0

Cualquiera que reciba este error justo después de la importación del proyecto podría estar golpeando una importación / sincronización inicial incorrecta de Gradle. Por lo general, se encuentra con errores graves (signo de exclamación parpadeante en la esquina inferior derecha). Para mí, esta fue la causa muy extraña (la carpeta del proyecto estaba vinculada): https://stackoverflow.com/a/52952148/44166


0

Encontré el mismo problema al abrir Android React Native Project en Android Studio.

La causa raíz es que abrí la carpeta raíz de React Native Project en lugar de la carpeta de Android del React Native Project.

Volver a abrir el proyecto en la carpeta de Android de React Native Project resolvió mi problema.


-3

Intenta instalar el complemento rastreador de Android. Lo encontrarás en el estudio.

Reiniciar el estudio

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.