"No se puede resolver el símbolo R" en Android Studio

715

En cada caso en todas mis clases donde hago referencia R.id.something, el Restá en rojo y dice "no se puede resolver el símbolo R". Además, cada vez que aparece R.layout.somethingestá subrayado en rojo y dice "no se puede resolver el método setContentView (?)". El proyecto siempre se construye bien. Es molesto ver esto todo el tiempo. He leído muchas otras preguntas aquí sobre algo similar pero más involucrado en la importación de proyectos desde Eclipse. Estoy usando lo que creo que es la versión más reciente de Android Studio y el proyecto fue creado con Android Studio y funcionó sin ningún problema de "no se puede resolver R". Me gustaría saber qué causa esto si alguien lo sabe.

ez4nick
fuente
en el pasado recibí errores xml como: la barra de progreso no se puede enviar a android.widget.textview, y lo arreglé simplemente cambiando el nombre de la vista de texto. Todavía no sé qué causó el error para empezar.
ez4nick
Si cambió el nombre, ¿tal vez ahora está tratando de usar una referencia de cadena que no existe en res / strings.xml?
Globo ocular el
2
Busqué muchas veces antes de hacer esta pregunta y encontré muchas preguntas similares, incluida la que mencionaste. Leí la sugerencia en esa pregunta y no hay importación de Android.R en ninguno de mis archivos java.
ez4nick
2
Hola a todos, me olvidé de hacer esta pregunta, ya que se hizo hace mucho tiempo. Debería haber aceptado mi propia respuesta hace un año que ahora es el comentario sobre esto. El problema era simplemente que el estudio de Android estaba en una etapa tan temprana en ese momento y, como nuevo desarrollador, nunca debería haberlo estado usando. Tenga la seguridad de que todo está funcionando bien ahora y lo ha estado. Si es posible, recupere mi respuesta original para que pueda aceptarla.
ez4nick
3
No encontrar R no es su error, es un error causado por un error de compilación Arregle sus otros errores y debería estar bien.
Just_someone

Respuestas:

721

También tuve este problema. Un simple 'gradlew clean' y 'gradlew build' hicieron el truco.


Haga clic en Build-> Clean Project y se realizará una limpieza de gradle

Vipassana Vijayarangan
fuente
56
Algunas veces también necesita reiniciar Android Studio. o al menos para mi.
Usuario de Foo Bar
24
Para aquellos que conviven usando la línea de comando, haga clic en Build-> Clean Project y eso realizará una 'limpieza de gradlew'. ;)
Sr. Concolato
22
Sin suerte ... La reconstrucción de limpieza no funciona para mí
CandleCoder
77
si limpiar, reconstruir, invalidar cachés, reiniciar no resuelve ir a: import package.R;
Sudip Bhandari
2
Para mí, esto estaba causando el problema: desajuste entre ApplicationId en gradle y el nombre del paquete en manifiesto (y aunque la importación automática agregó la dirección incorrecta para el archivo R). Recomiendo este pequeño artículo para aclarar la diferencia entre los dos. blog.stylingandroid.com/package-name-vs-application-id
Tina
227

En las últimas versiones de Android Studio, al menos para mí, lo siguiente funciona:

"Herramientas" -> "Android" -> "Proyecto de sincronización con archivos Gradle"

En la última versión de Android Studio 3.1.3 (julio de 2018), "Sincronizar proyecto con archivos Gradle" está disponible en la barra del menú principal.

ingrese la descripción de la imagen aquí

Tom C.
fuente
¿Cuál fue la versión de Android Studio que usaste esa vez?
Joel Handwell
No funciona para mí (Android Studio 0.8.14). Pero, el proyecto Build> Clean funciona bien.
Phat H. VU
Todavía funciona en Android 1.2.1. Recuerde hacer esto más de una vez, si no funciona por primera vez.
noob
Esto es lo único que funcionó para mí. Probé todas las otras soluciones primero.
Mac
1
En Android Studio 3.1.1, esta opción está en Archivo -> Proyecto de sincronización con archivos Gradle
Hrishikesh Kadam
155

Estaba usando gradle 3.3.0. Fue el principal culpable. Perdí 6.50 horas de mi vida. Gradle 3.2.1 eliminó el error.

classpath 'com.android.tools.build:gradle:3.2.1'

Problema resuelto después de cambiar la versión de Gradle. El historial de detalles se puede encontrar aquí .

Tushar Monirul
fuente
99
Otra hazaña increíble de los desarrolladores de Android Studio. Volver a la 3.2.1realidad fue la única solución que me funcionó ...
Vucko
1
Sorprendentemente sigue siendo un problema 2 meses después. La última versión (3.3.2) no lo solucionó, 3.2.1 sí.
JakeSteam
En lugar de volver a Gradle 3.2.1, también puede actualizar Android Studio a la versión 3.3. Vea mi respuesta aquí
arne.z
funcionó cambiando 3.3.0 a 3.2.1, pero mi pregunta funcionaba bien en 3.3.0, acababa de refactorizar y actualizar el archivo xml manifiesto y el archivo gradle y había sincronizado el gradle. ¿
Puedo
25 horas de internet y parece que esta es la única solución que funciona. Gracias android studio: (....
Nahabwe Edwin
108

Tengo un problema similar y esto es lo que hice:

Proyecto limpio y proyecto de sincronización con Gradle,

ingrese la descripción de la imagen aquí

compruebe la versión de buildTools en mi sdk ingrese la descripción de la imagen aquí

Desde build gradle (módulo) cambie minSdkVersion de 8 a 9

defaultConfig {
        applicationId "PackageName"
        minSdkVersion 9
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }

Pero todo esto no ayudó.

Finalmente encontré la respuesta (esto funcionó en mi caso)

Cambiar desde build.gradle (módulo: aplicación)

android {
    compileSdkVersion 21
    buildToolsVersion '21.0.1'
......
....
}

O

Seleccionar archivo | La estructura del proyecto cambia la versión de Build Tools a 21.1.1

ingrese la descripción de la imagen aquí

Mina Fawzy
fuente
Esto también funcionó para mí, cambiando compilaciones y configurando archivos gradle (módulo)
Samuele Bolognini
Gracias, como sabio, esta fue la solución.
Aplicación Dev Guy
58
  1. Revisa tus archivos xml.
  2. Proyecto limpio.

Eso es todo.

Por ejemplo, tuve una entrada en mi strings.xml:

<string name="A">Some text</string>

Y en activity_main.xmlusé esta entrada de cadena

<TextView
android:id="@+id/textViewA"
android:text="@string/A"/>

Mientras trabajaba con el proyecto, borré eso

 <string name="A">Some text</string>

Y consecuentemente activity_main.xml convirtió en no válido. Como resultado: no se puede resolver R.

Por lo tanto, verifique sus *.xmlarchivos y limpie el proyecto.

Yuriy
fuente
Esto realmente me salvó la vida [MÁS UNO]
GingerHead
Una imagen faltante a la que uno de mis XML hizo referencia me causó este problema. Pon la imagen en la carpeta, limpia y R estará contento de nuevo.
Casey Murray
Accidentalmente tuve mi cadena definida dos veces en strings.xml. Studio no mostró eso en absoluto. X- (Gracias por tu respuesta.
codingjeremy
Esto es para otros desarrolladores que leen. Este enfoque solo debería resolver el problema como lo hizo para mí.
Paramvir Singh Karwal
66
¿Por qué no hay comentarios para subrayar archivos XML incorrectos en el IDE?
Fuhrmanator
53

Si ve este error después de mover archivos o directorios de Java a otras ubicaciones, puede garantizar que Android Studio se haya confundido. ¿Y adivina qué? deshacer esas acciones no soluciona el problema.

Entonces intentas una limpieza, pero eso no funciona.

Y reiniciar tampoco funciona.

Pero intente Archivo -> Invalidar cachés / reiniciar ... -> Invalidar y reiniciar

Android Studio mantiene información sobre qué archivos dependen de qué otros archivos. Y dado que mover archivos no se implementa correctamente, mover archivos causa errores. Y eso no es todo: los cachés de estas dependencias se utilizan en un intento de acelerar la compilación.

Esto significa que no solo tiene que reiniciar, sino que también debe invalidar esos cachés para restaurar (o más exactamente, reconstruir) la cordura.

Scott Biggs
fuente
No ayudó. Intenté limpiar / reconstruir también. Se produjo un error después de mover el paquete de Java a otro paquete Curiosamente, en un paquete se puede acceder a la clase R, pero no se puede acceder en el paquete que moví.
pista
En las versiones más recientes de Android Studio, Invalidar y Reiniciar ahora son la selección de menú predeterminada. Esto debería ayudar al menos a algunas personas. (¡Lástima que no solucionen todos los errores locos que causan este error en primer lugar!)
Scott Biggs
1
Recibí este error después de mover y cambiar el nombre de un proyecto. Esto resolvió el problema de R después de que toda la limpieza y reinicio no. Gracias.
FrankKrumnow
2
Esto toma aproximadamente el mismo tiempo que tomar una taza de café, que a su vez se puede usar para tomar una buena ducha de café si todavía marca R en rojo ... ヽ (´ ー `) ノ
ZooMagic
1
encontré un gif para mi comentario anterior -> tenor.com/view/…
ZooMagic
30

Creo que si pones tus archivos de Actividades en otra carpeta que no sea la predeterminada. Debe importar com.example.yourproject.R(este es su Rarchivo de proyecto NO el Android.Rarchivo) a TODAS las actividades que utilice R. Por ejemplo, en el MainActivityarchivo inserte esta línea:

import com.example.yourproject.R;
ninjahoahong
fuente
1
Ah, y todavía habrá un mensaje de error antes de la primera compilación. Sin embargo, solo presiona construir, Android Studio generará el archivo R y la compilación debería tener éxito.
ninjahoahong
y creo que es mejor que después de la corrección, limpies tu proyecto y luego lo construyas. o presione Shift + F9 para depurar con su dispositivo o emulador. Prefiero depurar en un dispositivo real.
ninjahoahong
Esta es la mejor solución. Gracias amigo
Arundev
Esta respuesta fue la varita mágica. gracias
leeCoder
28

Parece que hay muchas causas para este problema. Recientemente, agregué una actividad para probar llamada NewActivity. Esto creó un archivo llamado res/menu/new.xmly a gradle no le gustó ese nombre porque nuevo es una palabra reservada.

gradlew clean

o

"Tools" -> "Android" -> "Sync Project with Gradle Files"

Definitivamente, es algo bueno para probar, pero es posible que tenga otros problemas que deba resolver antes de ejecutar esos comandos.

Chawkinsuf
fuente
gracias funcionó para mí también. Pequeña pregunta: ¿dónde debo escribir gradlew clean si quiero hacerlo de esta manera (hice "Herramientas" -> "Android" -> "Sincronizar proyecto con archivos Gradle")?
Sergii
Abra una terminal de comando, cambie al directorio del proyecto y ejecute "./gradlew clean"
chawkinsuf
Eso fue lo que fue para mí. ¡Gracias!
TinyGrasshopper
¿Cómo resuelve esto el problema mejor que 'Reconstruir proyecto'?
IgorGanapolsky
Sí, en mi caso agregué un archivo png, llamado "import.png". Tuve que cambiarle el nombre, en mi caso "import_icon.png" y luego el proyecto compiló bien.
mihai71
17

El archivo R.java contiene el enlace entre la página xml y java. "R no se puede resolver" aparece solo si hay un problema con algunos de sus archivos de recursos. Entonces, la mejor y más efectiva forma es eliminar el último xml hecho o dibujable en el archivo res. y luego nuevamente comience desde allí de acuerdo con las normas de codificación de Android. Esta es la única manera. La forma efectiva y correcta.

También use Git para el seguimiento adecuado del código. ..

Minto
fuente
En mi caso, no solo hubo problemas en XML, sino también en PNG (en dibujable).
CoolMind
15

Tu código está codificado. La respuesta es bastante simple.

Solo ve a Build -> Clean Project .

Eso debería hacer el truco.

Verifique también su versión de Android Studio.

Actualmente estoy usando Android Studio 3.0.1 .

lloydyu24
fuente
14

¿Has actualizado tus herramientas SDK recientemente? Inicie el administrador de Android SDK y asegúrese de tener las últimas herramientas de SDK, que ahora están separadas de las herramientas de la plataforma. Tuve el mismo problema cuando actualicé por primera vez mi administrador de SDK, el paquete de herramientas de compilación de SDK no apareció para instalar / actualizar hasta que cerré y volví a abrir el administrador de SDK.

invertigo
fuente
Creo que todo está actualizado allí. ¿Podría eso realmente causar un problema como este?
ez4nick
si no tiene instaladas las nuevas herramientas de compilación del SDK , sí.
invertigo
12

Simplemente limpie su proyecto y Proyecto de sincronización con Gradle File.ingrese la descripción de la imagen aquí

Y el problema se resolverá.

Arunendra
fuente
Cabe señalar que al hacer clic derecho en "aplicación" y al hacer clic en el botón de sincronización en el menú no se logra esto. Gracias.
Mafro34
11

He tenido esto con

  1. Una letra mayúscula en mis recursos dibujables.
  2. Importar Android.R agregado por Android Studio (o Eclipse)
  3. Error en el archivo xml
Ryan Heitner
fuente
Tuve el problema porque había un error en uno de mis archivos XML. Resolvió el problema y luego hizo unBuild->Clean Project
AjayCodes
11

Recientemente tuve este problema y la limpieza / construcción, etc., no lo resolvió. Supuse que tenía un problema en alguna parte, pero no estaba seguro de dónde buscarlo (¿estaba en el manifiesto, archivos xml de recursos, etc.?).

Cuando algo está mal, puede averiguar qué es haciendo una ejecución de análisis de código.

En el menú en la parte superior, elija:

Analizar -> Inspeccionar código, escanear todo el proyecto utilizando el perfil 'Predeterminado'.

Los resultados de su inspección contendrán un elemento llamado 'Android'. Aquí obtendrá una lista de todo lo que está causando problemas en sus recursos y archivo de manifiesto. Los errores abrirán los archivos xml generados de su compilación que mostrarán cualquier error en rojo.

Mi problema exacto fue causado porque estaba usando archivos de manifiesto basados ​​en sabor y copié algunos permisos dentro de la <application>etiqueta en el sabor por accidente.

Inspección

ACTUALIZACIÓN: tuve un problema después de que Android Studio todavía mostrara el error después de la corrección, a pesar de que ahora podía compilar y ejecutar perfectamente bien mientras el error todavía estaba allí. (Estoy ejecutando una construcción de canario, por lo que lo atribuyo a eso por ahora)

Matthew Cawley
fuente
Curiosamente, tuve este problema en un solo archivo y ejecuté el proceso "Inspeccionar código" y se borró solo (limpiar y reconstruir no lo solucionó). Debe haber algo atascado en Lint que solo esto podría aclararse. ¡Gracias!
rundavidrun
¡Gracias por esto! Si bien esto encontró muchos errores generales, lo que se esperaba, ¡la pieza que derribó todo el castillo fue un pequeño error de sintaxis en un archivo XML generado por Asset Studio! Una vez que resolví esto, un Proyecto Limpio me permitió seguir adelante.
Bink
10

Tuve que importar mi Rpaquete en Android Studio. Por ej .:import com.example.<package name>.R

Salvia pervy
fuente
1
He estado aquí antes de lo que pienso. Gracias de nuevo
Ohiovr
1
Esto funcionó para mí. Muchas gracias.
Aquarius_Girl
Esto me sucedió después de refactorizar el nombre de mi paquete, pero de alguna manera el estudio de Android dejó el import com.example.old-package-name.R, así que tuve que cambiar el nombre de la importación.
auspicioso99
9

Esta es una pregunta muy antigua, pero todavía sucede mucho y aquí no hay una respuesta realmente completa.

He tenido este problema más veces de lo que quiero admitir. Puede ser causado por una amplia variedad de problemas que, en su mayoría, tienen que ver con que la estructura de su proyecto no coincida con lo que se espera. Aquí hay una lista de todos los problemas que he tenido:

Importar desde Eclipse a Android Studio no siempre funciona sin problemas, especialmente con versiones anteriores de Android Studio. Asegúrese de estar usando el árbol de directorios correcto. Debería verse así para una aplicación medianamente madura:

AppName/        // AppName is your app's name, obviously
    .gradle/    // This is a compiler created directory. You should normally leave it alone
    .idea/      // Ditto
    build/      // This too
    gradle/     // And this
    app/
        build/
        libs/
        src/
            androidTest/   // Tests based on the Android instrumentation runner should go here
            main/
                java/
                    fully/           // Typically com
                        qualified/   // the domain name. Longer package 
                                     // names may have deeper folder trees
                            AppName/ // All your java files go here
                res/
                    drawable-*/      // One of these for each resolution you support
                    layout/          // All of your general layouts
                    menu/            // All of your menu layouts
                    values/          // All of your resource xml files
                    xml/             // PreferenceScreen layouts go here
                AndroidManifest.xml
            debug/         
            test/          // Pure jUnit tests should go here
        .gitignore
        app.iml
        build.gradle   // This is the gradle file you should be making most changes to
        proguard-rules.pro
    .gitignore
    build.gradle       // This gradle file should mostly be left alone
    gradle.properties
    gradlew
    local.properties
    AppName.iml
    settings.gradle

Puede que no se vea así en su IDE. Hay un menú desplegable sobre el árbol de archivos que muestra sus archivos de diferentes maneras, y por defecto en mi sistema a uno llamado Android que divide sus archivos en sus diferentes tipos. Es más fácil solucionar este tipo de problema desde el llamado Proyecto, y aún más fácil directamente desde el sistema de archivos de su sistema operativo, porque Android Studio colapsa las carpetas que solo contienen otra carpeta en una sola línea.

Especialmente si alguna vez cambia el nombre de su aplicación, debe asegurarse de que el árbol de origen main / java / com / domain / AppName esté actualizado. También asegúrese de que la etiqueta del paquete en su AndroidManifest.xml sea correcta.

Si hay errores en sus archivos Gradle o en su AndroidManifest.xml, esto evitará que Android Studio construya correctamente sus archivos de recursos. Los archivos de Gradle pueden romperse actualizando Android Studio a veces, especialmente desde las versiones anteriores a la 1.0. A veces esto se debe a que deja de admitir versiones anteriores del complemento Gradle, por lo que debe actualizar sus números de versión. A veces puede ser difícil encontrar cuáles son las versiones actuales. A partir de hoy, 17/07/15, mis aplicaciones están compilando bien concom.android.tools.build:gradle:1.2.3 . Esto está en el bloque de dependencias en el archivo gradle más externo,

Si su AndroidManifest hace referencia a un recurso o actividad de cadena o dibujable inexistente, se romperá y causará este error. A veces, si algo hace referencia a un recurso de cadena o dibujable inexistente, obtendrá este error.

Si tiene un archivo en sus recursos que está dañado o un archivo xml no válido, recibirá este error.

En mi experiencia, a veces Android Studio simplemente tiene problemas sin razón, y debe reiniciarlo y / o su PC. No sé por qué, pero a veces funciona.

Si tiene dos recursos xml con el mismo nombre, en directorios que no se anulan entre sí, puede tener este problema. Por ejemplo, puede tener el mismo nombre en drawable-mhdpi y drawable-xhdpi porque se anulan entre sí según el dispositivo de destino, pero si tiene el mismo nombre en el diseño y en el menú, causará un problema. Cambiar el nombre o eliminar uno de los archivos.

Si solo algunos recursos tienen este problema, es muy probable que esos recursos estén en el directorio incorrecto.

En un caso tuve que reinstalar completamente Android Studio. No sé qué estaba mal, pero funcionó.

En un caso, moví todo mi proyecto a un directorio diferente y lo reimporté como un nuevo proyecto. No sé qué estaba mal, pero funcionó.

Los archivos Xml con palabras reservadas para los nombres pueden causar este problema. Renombrarlos o eliminarlos.

Hay algunas formas en que su archivo Gradle puede terminar haciendo referencia a una versión de las herramientas de compilación que no tiene instaladas. Corrija esto cambiando Gradle o descargando las herramientas de compilación apropiadas.

Finalmente, después de que haya solucionado lo que está mal, debe limpiar su proyecto Gradle. Para ello, vaya al menú Generar en la parte superior y seleccione Limpiar proyecto.

TBridges42
fuente
9

Simplemente vaya a la lista del menú superior de Android. haga clic en el menú Generar , debajo de Construir, haga clic en Reconstruir proyecto.

ingrese la descripción de la imagen aquí

Gundu Bandgar
fuente
9

Me enfrenté a este problema cuando cambié de nombre manualmente la carpeta de dominio de mi aplicación. Para solucionar este problema, tuve que

  1. Establecer la packageestructura de carpetas adecuada de <manifest>inAndroidManifest.xml .
  2. Establecer la nueva ubicación del paquete android:namede <activity>enAndroidManifest.xml .
  3. Borrar caché por

Menú Archivo -> Invalidar cachés / reiniciar ...

El problema desaparecerá una vez que el estudio de Android se reinicie y cree el nuevo índice.

Sridhar
fuente
9

Tuve el mismo problema: Android Studio 3.2 El proyecto se compila y funciona bien, pero recibo advertencias en pantalla "No se puede resolver el símbolo" R "

Hace no ayuda:

  • Build-> Clean Project
  • Construir-> Proyecto de reconstrucción
  • Archivo-> Invalidar cachés / reiniciar

Ayuda:

ya sea

en build.gradle

dependencies {
        classpath 'com.android.tools.build:gradle:3.3.0'
...
}

reemplazar con

   dependencies {
            classpath 'com.android.tools.build:gradle:3.2.1'
    ...
    }

o

Actualice Android Studio a 3.3

Alex Burov
fuente
Me salvaste la vida ! La actualización de Android Studio a 3.4 resolvió el problema para mí
Artory
8

Tengo un caso especial para este problema.

En mi proyecto, todo sale bien, se puede compilar y construir con éxito, pero en mi Android Studio IDE (y también probé Intelligent IDEA, están en la misma situación) el archivo R.java no se puede resolver bien y siempre se puede caer en línea roja.

Solo así: ingrese la descripción de la imagen aquí

Esto casi me vuelve loco, no puedo soportar el color de lectura cuando estoy programando.

Finalmente encontré que este problema complicado es causado por el tamaño de archivo de mi R.java. Mi proyecto es muy grande, admite muchos idiomas y tamaños de pantallas múltiples. Hay tantos recursos que el tamaño de archivo de mi R.java es de aproximadamente 2.5M .

El tamaño máximo de un archivo en Android Studio es 2.5M en la configuración predeterminada, por lo que los archivos más grandes que este límite no pueden resolverse bien. Y puede cambiar la configuración predeterminada en "AndroidStudio-root / bin / idea.properties".

cambia esta línea:

idea.max.intellisense.filesize=2500

a :

idea.max.intellisense.filesize=5000

Luego reinicie Android Studio, el color rojo se descartó, puedo programar felizmente nuevamente.

Fido Zhang
fuente
En Android 3.2 solo ayuda / Editar propiedades personalizadas
Beto
buen consejo, pero no resolvió mi símbolo no se puede resolver R
Aliton Oliveira
7

Construir> Proyecto limpio

Esto funcionó para mí. Tuve el mismo problema varias veces, y esto parece solucionarlo. A menos que haya cambiado algo o haya llamado una variable R. Este problema generalmente ocurre de la nada, cuando me sucede a mí, por lo que imagino que solo los estudios de Android se están volviendo locos. jaja

Que tenga una buena y buena suerte con sus proyectos.

S.Pedro
fuente
Gracias. A mí también me funcionó. Reemplazo algunas imágenes en dibujables y obtuve ese error.
KCP
7

Hacer: Construir> Proyecto limpio

IMPORTANTE: asegúrese de no tener ningún error después de limpiar el proyecto en el panel de mensajes (Alt + 0). Si encuentra algún círculo rojo con un signo de exclamación, debe eliminar esos errores en su código.

La mayoría de estos errores están relacionados con @ string / o @ array /. Proyecto limpio de nuevo y listo!

Hassan Naqvi
fuente
7

Tuve el mismo problema y sucede cuando creo un nuevo proyecto.

Lo que hago es:

  • buscar actualizaciones del SDK
  • luego las actualizaciones de Android Studio,
  • luego vuelva a abrir el proyecto
  • abra el andoridmanifest.xml
  • borre un espacio entre un "_>" en la etiqueta de Android: y guarde.

Funciona para mi.

Elsanty
fuente
7

Me costó arreglar esto yo mismo.

  • Asegúrese de no tener errores en sus archivos layout.xml.
  • Vaya a Compilar> Proyecto limpio

Funcionó para mí, espero que funcione para ti también.

Oussama Essamadi
fuente
6

Tuve el mismo problema y la mayoría de las veces se resuelve por

  • Proyecto de sincronización con archivos gradle
  • Haciendo Build -> Proyecto Limpio
  • Hacer archivo -> Invalidar cachés

Pero esta vez el error persistió incluso después de hacer todas estas cosas y finalmente encontré al culpable.

El problema estaba en un archivo xml , donde he dado un valor de cadena ordinario para un tipo de recurso enandroid:id lugar de un id .

ERROR

android:id="username"

CORRECCIÓN

android:id="@id/username"

Desordenar las cosas relacionadas con los resourcesarchivos xml es una razón importante para este error. Tenga en cuenta el hecho de que puede no mostrarse como un error en el archivo de diseño xml.

NOTA

En la mayoría de los casos, el compilador le muestra la fuente de error en el mensaje. Intente verificarlo primero antes de intentar otras soluciones

Siva Prakash
fuente
6

`Tuve el mismo problema y lo resolvió:

1) Sync Project with gradle files
2) Build -> Clean Project
3) Build -> Rebuild Project
4) File -> Invalidate caches

//imp step
5) Check your xml files properly.`
Bapusaheb Shinde
fuente
Esta es una buena respuesta, aunque solo necesitaba colocar '//' en el archivo gradle y seleccionar resincronización. Luego, todos los AS reconocieron la importación y me permitieron ejecutar la aplicación.
Val
5

Esta notación parece funcionar bien.

android:id="@+id/viewID"

El panel de diseño de Android Studio no parece funcionar bien.

Tevin J
fuente
5

El mismo problema. Comencé cuando agregué algunas imágenes en mi carpeta dibujable e intenté acceder a ellas. También las imágenes agregadas tenían la extensión con letras mayúsculas. Eso parece haber bloqueado la compilación, ya que incluso si les cambié el nombre, el mensaje era el mismo y R era inaccesible. Lo que hice es, en el archivo .iml, busqué el excludeFolder y los eliminé (como a continuación):

  <excludeFolder url="file://$MODULE_DIR$/build/apk" />
  <excludeFolder url="file://$MODULE_DIR$/build/assets" />
  <excludeFolder url="file://$MODULE_DIR$/build/bundles" />
  <excludeFolder url="file://$MODULE_DIR$/build/classes" />
  <excludeFolder url="file://$MODULE_DIR$/build/dependency-cache" />
  <excludeFolder url="file://$MODULE_DIR$/build/incremental" />
  <excludeFolder url="file://$MODULE_DIR$/build/libs" />
  <excludeFolder url="file://$MODULE_DIR$/build/manifests" />
  <excludeFolder url="file://$MODULE_DIR$/build/res" />
  <excludeFolder url="file://$MODULE_DIR$/build/symbols" />
  <excludeFolder url="file://$MODULE_DIR$/build/tmp" />

Después de eso reconstruí el proyecto y R apareció mágicamente.

usuario1137313
fuente
5

Hay muchas causas para este error.

  1. A veces ocurre para reemplazar un archivo de imagen manteniendo el mismo nombre.
  2. Supongamos que eliminó un elemento de su diseño .xml diga un <Button/> pero todavía se declara en cualquier Actividad o Fragmento .java.
  3. Mucho mas.

La mejor manera de rastrear el error es reconstruirlo en lugar de limpiarlo o sincronizarlo haciendo algún error intencional.

Si no resuelve su problema, entonces debe haber algún error o error de tiempo de ejecución o se produjo un error debido al uso incorrecto de los recursos. Puede haber archivos java o xml en su código o diseño, lo que está obligando a Gradle a detenerse porque (R ) el archivo esource no puede indexar sus recursos correctamente y debe admitirlo.

Si su proyecto se ejecutó antes de realizar los cambios, comente los cambios que haya realizado e intente reconstruir el proyecto.

Seguramente funcionará ya que no habrá cambios.

Para rastrear el error exacto, verifique los cambios separándolos en un módulo más pequeño.

Por ejemplo: si está haciendo que una lista sea visible con un clic de botón e insertando valores de lista en el adaptador, primero verifique si puede hacerla visible o no, luego verifique si hay errores del adaptador.

Sourav Roy
fuente
4

Esto fue un gran dolor de cabeza para mí. En mi caso, el error apareció después de configurar "Google Play Services" en Android Studio (instalación + build.gradle config). Esto a su vez requiere minsdk> 7, pero el error no está muy claro al respecto (en realidad, una queja sobre esto solo aparece como "información"). De todos modos ... al cambiar minsdk a 8 tanto en el archivo de manifiesto como en el archivo build.gradle y reconstruir el proyecto, el error desapareció.

Entonces, un consejo general sobre esto, si puedo generalizar, probablemente tenga algún problema en su archivo de manifiesto, o en algún otro archivo de configuración, que impida una compilación adecuada. Intenta mirar el informe de errores, incluso los mensajes titulados "información" para obtener alguna pista sobre lo que podría ser ...

ayal gelles
fuente