Android – ¿Cómo regenerar la clase R?

Posible duplicado:
Desarrollando para Android en Eclipse: R.java no genera

He importado un proyecto en mi Eclipse IDE, pero me está dando un error ya que el archivo R no se genera automáticamente.

¿Cómo puedo editar el archivo R para que coincida con los requisitos de mi proyecto?

En otra pregunta stackoverflow , alguien respondió esto: debe deshacerse de las advertencias y errores (sintaxis y vínculos) en sus archivos xml. Esto además de hacer un proyecto limpio / construir.

Proyecto -> Limpiar, y elegir la opción para construir el proyecto.

Me pareció que esto me pasaba con un diseño roto y todo explotó. Relájese, es como ese viejo error cuando aprendió por primera vez la programación donde se olvida un punto y coma y genera un centenar de errores. Muchos pánico, pulse todos los botones, y empeora las cosas.

Solución

  • Asegúrese de que nada de lo que el R. conecte no esté roto. Si está roto, ADK puede no regenerar R. Corregir todos los errores en sus archivos XML .
  • Si de alguna manera golpeas algo y import android.R en tu actividad, sácala .
  • Ejecutar Proyecto -> Limpiar . Esto eliminará y regenerará R y BuildConfig.
  • Asegúrese de que Project -> Build Automatically está marcado.
  • Espere unos segundos para que desaparezcan los errores.
  • Si no funciona, elimine todo dentro de la carpeta / gen /
  • Si todavía no funciona, intente hacer clic con el botón derecho del ratón en su proyecto -> Herramientas de Android -> Propiedades del proyecto de corrección .

Qué hacer si R no se regenera

Esto suele suceder cuando tiene un archivo xml roto.

  • Compruebe los errores dentro de sus archivos XML, principalmente dentro de la carpeta / res /
  • Los lugares comunes son / layout / y / values ​​/ especialmente si has cambiado uno de ellos recientemente
  • Compruebe AndroidManifest.xml, encuentro que a menudo cambio una cadena y olvido cambiar el nombre de la cadena de AndroidManifest.xml.
  • Si no puede encontrar el problema. Haga clic derecho / gen / -> Restaurar desde la historia local … -> marque R.java -> haga clic en Restaurar . Esto no soluciona el problema, pero eliminará los errores adicionales para hacer que el problema sea más fácil de encontrar.

Ya sé que ya hay muchas respuestas aquí, pero este es el primer enlace en Google, por lo que estoy compilando todos los consejos aquí y espero que ayude a alguien más nuevo a esto 🙂

Ok, lo arreglé:

Cuando cambié el manifiesto a la versión de destino 1.5, millones de errores aparecieron y sólo uno no estaba relacionado con la inexistencia de la clase R – en los atributos de archivo de manifiesto "targetSdkVersion" y "maxSdkVersion" no existían en sdk 1.5

Debido a esta clase R no fue capaz de generar.

Tuve un problema similar donde el archivo R.java no estaba siendo regenerado después de haber agregado algunos iconos y archivos de diseño. Intenté limpiar y reconstruir y las cosas empeoraron desde entonces el archivo original de R.java había ido y todavía no fue regenerado. Eventualmente me di cuenta de que debe haber errores de compilador para el compilador que genera R.java y no se nos muestran los de la consola. Afortunadamente, había notado antes que

  1. Es un error si un archivo .xml se refiere a otro que es inexistente y
  2. Es un error tener letras mayúsculas en sus nombres de archivo (¿por qué está prohibido, I LOVE camel case).

De todos modos, después de renombrar mis iconos y archivos .xml a minúsculas y luego fijar todas las referencias dentro de los archivos .xml, voila, R.java fue regenerado. Justo a tiempo para sentirme bien cuando paré para almorzar 🙂

Para generar de nuevo el archivo R:

  1. Modificar algo en layout-> activity_main.xml
  2. Guarda el archivo
  3. Proyecto-> Limpieza …

Simplemente elimine el archivo R ubicado en el directorio gen, y luego pruebe Project-> Clean. A continuación, vuelve a crear tu aplicación.

También puede hacer clic con el botón secundario en el project -> Android Tools -> Fix Project Properties . Esto debería hacer que la clase R.java se vuelva a generar.

Mi problema estaba en el archivo Manifiest. He eliminado los iconos del lanzador y no he hecho referencia a los nuevos en Manifiest 🙂

Reabra eclipse, edito uno de mis archivos xml y luego descubro que mi clase activy se refería a android.R en lugar de mi paquete "R" 🙂

Con el fin de regenerar la clase R., tendrá que probar varias técnicas.

  • Elimina las importaciones de R de tus archivos de origen de Java: import R.android
  • Asegúrese de abrir el panel de "Problemas" yendo a Ventana-> Mostrar vista-> Problemas
  • Si tiene algunos errores en sus recursos xml, tendrá que corregirlos. En mi caso tuve que cambiar mis atributos de id para incluir el signo "+" como sigue: android:id="@+id/grp_txt"
  • Ahora proceda a hacer Proyecto-> Limpieza
  • Finalmente haga Proyecto-> Cerrar, Proyecto-> Abrir

El signo "+" indica un nuevo identificador de recurso y obliga a la herramienta aapt a crear un nuevo entero de recursos en la clase R.java.

Si utiliza Intellij IDEA puede hacer clic en Build – Rebuild Project

Si has eliminado accidentalmente tu R en eclipse por "proyecto limpio" (no hagas esto) Haz clic con el botón derecho en tu Projectfile -> Restaurar desde el Historial local …

Recrea tu R

Mi caso:

  • El xml roto causó error en R. (debido a ä, ö, ü, letras en id)
  • Borró mi proyecto limpio

Lo que hice:

  • Reconstruido R de la historia local
  • Comprobado para las importaciones incorrectas de R en mis clases (como la importación de android.R) y los eliminó
  • Arreglado ese archivo xml y guardado su contenido en un archivo txt externo
  • Eliminado el xml completamente de mi proyecto.
  • Dirigí mi proyecto una vez
  • Poner ese xml fijo en su lugar

y…

  • Dio a mi novia un gran abrazo sin una razón después de freaking fuera como un Hulk.

Mi problema era errores en mis archivos XML. Los errores no siempre se detectan automáticamente en el Editor de XML Común de Android o en el Editor de Manifiesto Común de Android, así que intente utilizar el editor de texto normal. Por ejemplo, de alguna manera algún jerga aleatoria de un archivo .java se había insertado en mis archivos manifest y strings.xml.

Haga clic derecho en cualquier archivo XML (lo más probable es en la carpeta / res o AndroidManifest.xml) y haga clic en "Abrir con", luego seleccione "Editor de texto". Asegúrese de que todo se ve bien y luego guarde. Además, asegúrese de habilitar "Crear automáticamente" para su proyecto. Había suprimido mi archivo de R.java y fue reconstruido de rasguño, así que ninguna necesidad de restaurarlo de historia local.

Intente agregar un nuevo "archivo XML de Android" a, por ejemplo, la carpeta /res/layout . Esto podría hacer que el complemento para regenerar la clase R

Sólo puede modificar cualquier archivo xml en / res carpeta e incluso simplemente agregar un espacio y guardar, se regenerará.

Tuve el mismo problema – "R" desaparecido. Y ninguno de los consejos dados aquí ayudó. Afortunadamente, he encontrado la razón – de alguna manera Eclipse se perdió el Proyecto-Propiedades-objetivo. Estaba desarmado. No sé hasta ahora, lo que lo había hecho, pero la recuperación le ayudó. Por lo tanto, la falta de atención R puede significar el objetivo que falta , también!

He probado todas las soluciones anteriores. Pero desafortunadamente no resolvió mi problema. Mi R.java se había ido tan pronto como puse una nueva foto en mi carpeta. Después de leer las respuestas a esta pregunta he intentado eliminar el icono que he pegado previamente (mientras que Build Automatically Enabled) y todo estaba bien afetr. ¡Espero que esto ayude a alguien!

Tuve ese problema y acabo de hacer clic con el botón derecho en el paquete de mi proyecto y construir proyecto. Al instante la clase R apareció en gen packet.

En caso de que alguien encuentre este hilo cuando Google, como yo lo hice:

Tuve lo que parecía ser el mismo problema durante un tiempo, y después de algunas excavaciones me di cuenta de que el archivo R.java se construyó correctamente, pero fue ignorado por sólo uno de mis archivos de origen. El problema para este archivo en particular fue que Eclipse había "útil" añadió la siguiente línea en la parte superior:

 import android.R; 

Que efectivamente oculta el proyecto R cosas. Sólo tienes que quitarlo y todo estará bien otra vez …

Puede utilizar la opción "Restaurar de la historia local" de Eclipse para restaurar su antiguo archivo R si se ha eliminado. Después de eso posiblemente veas lo que evita que Eclipse construya tus archivos (he visto otros errores anteriores que realmente ayudaron a solucionar el problema).

Puede ser que usted puede ir a las propiedades del proyecto y seleccione la opción de Android y luego definir el objetivo para el proyecto. Una vez que aplique la API de destino seleccionada para este proyecto, generará automáticamente R.java.

Principalmente un problema con un archivo de diseño no válido. Abra la vista 'Problemas' y busque errores en archivos de diseño XML. Corregirlos y la clase R se recreará.

En mi caso no hubo un error real. La vista del problema mostró un error en un diseño xml. El editor también mostró el error xml. Simplemente reformateando el xml usando el formateador automático con 'ctrl-f' 'fijo' el xml 'error' y la clase R fue recreada.

Usted puede apenas suprimir el archivo de R.java de su proyecto y regenerará asumiendo que usted tiene estructura habilitada automáticamente. Si no tiene la compilación habilitada automáticamente, goto project-> build all

Para mí, era un valor de cadena de recursos no se define … después de que se agregó a mano a Strings.xml, la clase R se regeneró automágicamente!

Este problema normalmente ocurre cuando se importa desde un proyecto existente. Intente corregir todos los errores de todos los archivos .xml en la carpeta res , así como el archivo Manifest . Lo más probable es que los errores se muestren en el parámetro " match_parent ", cambie a " fill_parent ". Cuando todos los errores son claros, aparecerá R.java.

Si no hay ningún error en ningún archivo .xml. Trate de editar cualquier archivo xml (como borrar una letra y escribirlo de nuevo) y luego guardar el archivo, esto hará que genere el R.java.

Tengo un problema que findViewById(R.id.edit_text) pero devuelve un TextView no un EditText. Creo que el problema es la clase R.id tiene número de identificación incorrecta, entonces, i limpiar el proyecto entonces su funciona bien.

En mi caso era un archivo XML incorrectamente llamado que hizo que mi archivo R no se reconstruyera. Esto no apareció en el explorador de paquetes, pero se mostró en el LogCat. Busque las advertencias allí sobre sus archivos de resolución. No importa cuántas veces limpie su proyecto, el archivo R no se reconstruirá hasta que se cuiden de esos errores.

  • Cómo definir una matriz de enteros en un declarable-styleable?
  • Estilo Sherlock Barra de Acción
  • Implementar y diseñar aplicaciones de Android para TV
  • Xamarin Archivo de recursos Android no encontrado
  • Uso de estilos privados (No se encontró ningún recurso que coincida con el nombre dado)
  • No conseguir el pulgar con géneros - jugador de música universal
  • Obtener recursos de color como cadena
  • Obtener ids de vista en un bucle for por programa?
  • GetResources (). GetColor () está obsoleto
  • Problemas de compatibilidad de interfaz de usuario entre diferentes versiones de API
  • Adición de un mapa de bits a los recursos desplegables
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.