regenerar - solucionar r roja android studio




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

En cada instancia en todas mis clases donde hago referencia a R.id.something , la R está en rojo y dice "no se puede resolver el símbolo R". Además, cada vez que hay R.layout.something . R.layout.something está subrayado en rojo y dice "no se puede resolver el método setContentView (?)". El proyecto siempre funciona bien. Es molesto ver esto todo el tiempo. He leído muchas otras preguntas aquí sobre algo similar, pero la mayoría involucró 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 se creó con Android Studio y funcionó sin ningún problema de "no puedo resolver R". Me gustaría saber qué causa esto si alguien sabe.


  1. Revise sus archivos xml.
  2. Proyecto limpio.

Eso es todo.

Por ejemplo, tenía una entrada en mi strings.xml :

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

Y en activity_main.xml usé 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, en consecuencia, activity_main.xml dejó de ser válido. Como resultado: no se puede resolver R.

Por lo tanto, revise sus *.xml y limpie el proyecto.


¿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 este mismo problema cuando actualicé 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.


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

import com.example.yourproject.R;


Dudes, creo que hay muchos disparos en la oscuridad aquí. En algunos casos, Clean y Sync Project solo le ayudarán después de que haya solucionado el problema.

Paso 1: Vaya a la parte superior de cada archivo donde se especifica el paquete de la siguiente manera pakage="YourURL.YourProject"; y asegúrese de que se especifique el paquete correcto (su propio proyecto). Encontrará esto en archivos java y AndroidManifest.xml y es fundamental que los archivos java hagan referencia al paquete correcto, ya que ese paquete contiene los recursos ("R") a los que apunta. Si no coinciden, el error no puede resolver .

Paso 2: Limpio, Sync, lo que sea. Hecho

Entonces, ¿por qué ocurre esto al azar o qué hice mal?

Si copia y pega el código, debe prestar mucha atención al "paquete =" como se explicó anteriormente. Más importante aún, cuando pega el código, se ejecuta inmediatamente a través de una especie de depurador (Disculpe mi término de tecnología mala) para mostrarle "errores presumidos", que inmediatamente toma en consideración el "Paquete incorrecto", y obtiene todos los errores. Por lo tanto, aunque corrigió la notación inmediatamente después de pegar, el depurador ya se ha actualizado. Es por eso que "Clean, Sync, Whatever" funciona A VECES


En las últimas versiones de Android Studio, al menos para mí, los siguientes trabajos:

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

En la última versión de Android Studio 3.1.3 (julio de 2018), "Sync Project with Gradle Files" está disponible en la barra de menú principal.


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

He tenido este problema más veces de las que quiero admitir. Puede deberse a una gran 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:

La importación de Eclipse a Android Studio no siempre funciona sin problemas, especialmente con versiones anteriores de Android Studio. Asegúrese de que está utilizando el árbol de directorio correcto. Debería verse así para una aplicación moderadamente 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 tu IDE. Hay un menú desplegable sobre el árbol de archivos que muestra sus archivos de diferentes maneras, y configura de manera predeterminada en mi sistema a uno llamado Android que divide sus archivos en sus diferentes tipos. Es más fácil solucionar este tipo de problemas desde el llamado Proyecto, e incluso más fácil directamente desde el sistema de archivos de su sistema operativo, porque Android Studio contrae 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 de Gradle o en su AndroidManifest.xml, esto evitará que Android Studio cree adecuadamente sus archivos de recursos. Los archivos de Gradle se pueden romper 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 necesita 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/7/15, mis aplicaciones se están compilando bien con com.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 una actividad de dibujo o cadena no existente, se interrumpirá y causará este error. A veces, si algo hace referencia a un recurso dibujable o de cadena inexistente, obtendrá este error.

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

En mi experiencia, a veces, Android Studio solo tiene problemas sin ninguna razón, y necesitas reiniciarlo y / o tu 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ú, esto causará un problema. Renombra o borra uno de los archivos.

Si solo algunos recursos tienen este problema, lo más probable es 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 volví a importar como un nuevo proyecto. No sé qué estaba mal, pero funcionó.

Los archivos xml con palabras reservadas para nombres pueden causar este problema. Renombrarlos o borrarlos.

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 construcción apropiadas.

Finalmente, una vez que haya solucionado el problema, debe limpiar su proyecto de Gradle. Para ello, vaya al menú Generar en la parte superior y seleccione Limpiar proyecto.


Este 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 es muy poco claro (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 al reconstruir el proyecto, el error desapareció.

Así que ... un consejo general sobre esto, si puedo generalizarlo - 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. Trate de observar realmente el informe de errores, incluso los mensajes titulados "información" para cualquier pista sobre lo que podría ser ...


Hace poco tuve este problema y la limpieza / compilación, etc. no lo resolvió. Supuse que tenía un problema en algún lugar, pero no estaba seguro de dónde buscarlo (¿estaba en el manifiesto, los archivos xml de recursos, etc.?).

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

Del menú en la parte superior elige:

Analizar -> Inspeccionar código, escanear todo el proyecto usando 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 se debió a que estaba usando archivos de manifiesto basados ​​en el sabor y copié algunos permisos dentro de la etiqueta <application> en el sabor por accidente.

ACTUALIZACIÓN: Tuve un problema después de que Android Studio aún mostraba el error después de la corrección, aunque ahora podía compilar y ejecutar perfectamente mientras el error aún estaba allí. (Estoy ejecutando una compilación de canarios, así que por ahora)


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 aún está declarado en cualquier Actividad o Fragmento .java.
  3. Mucho mas.

La mejor manera de rastrear el error es Reconstruirlo más bien limpio o sincronizar haciendo algún error intencional.

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

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

Seguramente funcionará ya que no habrá cambios.

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

Por ejemplo, si está haciendo visible una lista con un clic en el botón e insertando los valores de la lista en el adaptador, primero verifique si puede hacerlo visible o no, y luego verifique si hay errores en el adaptador.


He tenido esto con

  1. Una letra mayúscula en mis recursos dibujables.
  2. Importar Android.R que agrega Android Studio (o Eclipse)
  3. Error en el archivo xml

Me costó arreglar esto yo mismo.

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

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


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

  1. Establezca la estructura de carpetas del package adecuada de <manifest> en AndroidManifest.xml .
  2. Establezca la nueva ubicación del paquete para android:name de <activity> en AndroidManifest.xml .
  3. Borrar caché por

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

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


Sólo tienes que ir a la lista del menú superior de Android. haga clic en Crear menú, en Crear haga clic en Reconstruir proyecto.


Si ve este error después de trasladar los 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.

Así que intentas una limpieza, pero eso no funciona.

Y reiniciar tampoco funciona.

Pero intente File -> Invalidate Caches / Restart ... -> Invalidate and Restart

Android Studio mantiene información sobre qué archivos dependen de qué otros archivos. Y como mover archivos no se implementa correctamente, mover archivos provoca errores. Y eso no es todo: los cachés de estas dependencias se utilizan para intentar 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 precisamente, reconstruir) la cordura.


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


Tengo un caso especial para este problema.

En mi proyecto, todo va bien, puede compilarse y construirse con éxito, pero en mi IDE de Android Studio (y también probé con IDEA inteligente, 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.

Al igual que esto:

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

Al final, encontré que este problema complicado se debe al tamaño de archivo de mi R.java. Mi proyecto es muy grande, soporta múltiples tamaños de idiomas y pantallas múltiples. Hay tantos recursos que el tamaño del 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 se pueden resolver bien. Y puede cambiar la configuración predeterminada en "AndroidStudio-root / bin / idea.properties".

cambia esta linea:

idea.max.intellisense.filesize=2500

a :

idea.max.intellisense.filesize=5000

Luego reinicie Android studio, el color rojo se ha borrado, puedo programar felizmente de nuevo.


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

Just go to **Build** --> **Clean Project**.

Eso debería hacer el truco.

Actualmente estoy usando Android Studio 3.0.1 .


Tuve el mismo problema y la mayoría de las veces es resuelto por

  • Proyecto de sincronización con archivos gradle
  • Haciendo Construir -> Limpiar Proyecto
  • Haciendo archivo -> Invalidar cachés

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

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

ERROR

android:id="username"

CORRECCIÓN

android:id="@id/username"

El desorden de las cosas relacionadas con los resources en los archivos xml es una de las razones principales de este error. Tenga en cuenta que es posible que no se muestre 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. Intenta comprobarlo primero antes de intentar otras soluciones.


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


`Tuve el mismo problema y se resolvió por:

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




r.java-file