jueves, 13 de enero de 2011

Regenerar la Clase R en proyectos Android

No es muy común, pero algunas veces puede pasar que cuando estas dentro de un proyecto de Android utilizando Eclipse y el plugin de ADT la clase R (la clase que se genera automáticamente para localizar los recursos) se pierda, se borre o se dañe de alguna manera; causando que el proyecto ya no sea compilable.
Para arreglar esto solo es necesario generar un nuevo recurso (algún string, o algún nuevo archivo layout, o algún archivo xml de android) para que el plugin de Android regenere la case. O también pueden utilizar las herramientas de android para el proyecto. Clic secundario en el proyecto => android tools => fix project y con esto la clase debe de estar generada nuevamente.
Lo comento por que recientemente un compañero no podía hacer esta tarea en un proyecto existente y siempre es bueno saberlo.
Saludos

23 comentarios:

  1. Los siento amigo esto no funciona marica!!!

    ResponderEliminar
  2. Recuerda que este post es un poco viejo amigo, Android eclipse tools han cambiado bastante a la fecha. Tienes que hacer un project clean para que la clase R se regenere. Te agradeceria no poner comentarios ofensivos.
    Saludos

    ResponderEliminar
  3. No me funciono ninguno de los 2 metodos

    ResponderEliminar
  4. Quizás sea una obviedad, pero ¿has probado a borrar todos los errores en la consola de problemas?
    Window -> Show views -> Problems
    A veces queda algún error que no permite compilar R.java.

    Salduos.-

    ResponderEliminar
    Respuestas
    1. So usefull your information thnk u...
      saludos desde Bolivia muy util el blog

      Eliminar
    2. muchisimas gracias camarada tu comentario puede no ser muy amplio pero es eficiente, saludos desde mexico

      Eliminar
    3. Me solucionó el problema.

      Eliminar
    4. Vaya esto me sucede de vez en cuando este error, y da dolor de cabeza lidiar con esto. Muchas Gracias!!

      Saludos cordiales,

      Eliminar
    5. Gracias ,,, Gracias..!! saludos desde Guatemala.

      Eliminar
  5. Soy nuevo, creo mi primer proyecto el tipico hola mundo y nada mas crearlo sin tocar nada en la carpeta gen no esta el R y el AndroidManifest.xml tambien me marca un error que imagino que sera por el R, he probado cosas pero no regenera nada ¿Algo de ayuda?

    ResponderEliminar
    Respuestas
    1. Para toda la gente de todo el mundo la unica cura es ir Android Manejer SDK y or tools /option y luego borra el cache y listo

      Eliminar
  6. Que tal, este post ya es un poco antiguo y las utilidades de android han cambiado un poco. La clase R se genera cada vez que un recurso de aplicación es creada. Se debe de crear también después de que se creo el proyecto ya que los recursos por defecto son creados con el proyecto.
    Actualmente como yo genero la clase cuando descargo el proyecto desde git o algun otro scm es hacen clean del proyecto. En el Menu Project selecciona clean y luego sigue el wizard.
    En ocasiones el cache de eclipse se queda colgado y es necesario cerrar el proyecto. Esto es lo que hago, clic derecho en el proyecto luego close proyect. En el menu project habilita build automatically y luego clic derecho en el proyecto y open.
    Espero y esto te funcione
    Saludos

    ResponderEliminar
  7. Lamentablemente no me funciona.
    Es uno de los errores que más me sacan de mis casillas... :(

    ResponderEliminar
    Respuestas
    1. Es un poco extraño por que me a mi me funciono bien esta mañana, lamentablemente si es un error un poco fastidioso. Esto fue lo que hice. Cerre el proyecto, luego lo re abri y me marco error en la clase R, luego fui a Project -> clean y seleccione solo limpiar mi proyecto. Con eso se recreo la clase R. Si no funciona trata de actualizar las Android Developer Tools tal vez eso sea el problema.

      Eliminar
  8. Yo he pasado varias veces por eso... Y me ha costado saber que era... Para todos aquellos que les ocurra esto:
    1. Mirar si tienes una imagen repetida con el mismo nombre pero diferente formato a la vez.
    2. Mirar si tienes un sonido repetido con el mismo nombre pero diferente formato a la vez.
    2. Mirar si tienes cualquier otro archivo repetido con el mismo nombre pero diferente formato a la vez.

    ResponderEliminar
    Respuestas
    1. Gracias por las soluciones, tienes mucha razon. Basicamente cualquier cosa que estropee los recursos bloqueara la clase R.

      Eliminar
    2. Hola, gracias, yo tuve problema con el nombre de las imagenes, tenia caracteres no permitidos. Solo los limpié y funcionó.

      Gracias!

      Eliminar
  9. Gracias, viejo! imagen con el mismo nombre, pero diferente formato! un GENIOOOO!!!

    ResponderEliminar
  10. grosoooo tenias razon, tenia imagenes repetidas con distinto formato!!

    ResponderEliminar
  11. Nada, no funciona, me sucede lo mismo..

    ResponderEliminar
    Respuestas
    1. Yo se si estas est es mi correo ramirosafe@gmail.com y te digo como solucionarlo

      Eliminar