Pregunta

Me he dado cuenta de que mi R.java no se actualiza, por lo que no contiene información sobre mis nuevos recursos, por lo que decidí eliminarlo y pensé que Eclipse generaría una nueva. Pero eso no sucedió, y no tengo R.java ahora. ¿Cómo puedo regenerar uno?

Estoy usando Windows 7.

A partir de uno de los comentarios: "Haciendo Proyecto -> Limpieza es lo que causó el problema para mí limpieza elimina R.java ... y por cualquier motivo el. plugin no está regenerando el archivo ".

¿Fue útil?

Solución

Este sitio sugiere:

si se ejecuta una limpia en el proyecto se debe regenerar todos los archivos Java generados, a saber, R.

... y ...

En Eclipse, bajo el menú proyecto, es una opción de generación automática. Eso ayudará a construir las modificaciones del archivo R.java everytime son hecho. La opción Limpiar ... También está allí el marco del Proyecto.

Este sitio sugiere otra solución.

Otros consejos

He encontrado que esto ocurra a mí con un diseño roto y todo explota. Relax, es como ese viejo error cuando aprendió programación C, donde se le olvida un punto y coma y se genera un centenar de errores. Muchos de pánico, la prensa todos los botones, y la empeora.

Solución

  • Asegúrese de que cualquier cosa que los enlaces a R. no está roto. Corregir todos los errores en los archivos XML . Si hay algo en los Adks están rotas, R voluntad no regenerado.
  • Si de alguna forma chocar con algo y creó import android.R en su actividad, y eliminar .
  • Ejecutar Proyecto -> Borrar . Esto eliminará y R regenerado y BuildConfig.
  • Asegúrese de que Proyecto -> crear automáticamente está marcada. Si no es así, construir de forma manual a través de Menu -> Project -> Build Project.
  • Espera unos segundos para que los errores desaparezcan.
  • Si no funciona, borrar todo dentro de la / GEN / carpeta
  • Si aún así no funciona, intente clic derecho en su proyecto -> Herramientas Android -.> Fix Propiedades del proyecto
  • Compruebe su *. Propiedades archivos (en la carpeta raíz de la carpeta de la aplicación) y asegúrese de que los enlaces en que no se rompan.
  • Haga clic con el proyecto> propiedades> Android . Vistazo a las secciones de destino y la biblioteca de proyectos se basan en el lado derecho de la página. Su Tipo de generación debe coincidir con el objetivo en su AndroidManifest.xml. Así que si está configurado para apuntar 17 en AndroidManifest, asegúrese de que el nombre de destino es Android 4.2. Si la biblioteca tiene una X debajo de la referencia, quitar y volver a añadir la biblioteca hasta que haya una marca verde. Esto puede ocurrir si se ha mudado algunos archivos y carpetas alrededor.

¿Qué hacer si no se regenera R

Esto suele suceder cuando se tiene un archivo XML dañado.

  • Comprobar errores dentro de sus archivos XML, principalmente dentro de la carpeta /res/
  • Los lugares más comunes son /layout/ y /values/, especialmente si ha cambiado uno de ellos recientemente
  • Comprobar AndroidManifest.xml. Me parece que a menudo puedo cambiar una cadena y se olvide de cambiar el nombre de la cadena de AndroidManifest.xml.
  • Compruebe que está instalado Android SDK Build-tools. Ventana -> Android SDK Manager -> Herramientas -> Android SDK acumulación de herramientas
  • Asegúrese de que cuando se actualiza el Android SDK Tools, también se actualiza el Android SDK Platform-tools y Android ADK Build-tools. Generación falla en silencio si no coinciden.
  • Si no puede encontrar el problema, botón derecho / GEN / -> Restaurar de la historia local ... -> marque R.java -> haga clic en Restaurar . Incluso si no se soluciona el problema, se borrará los errores adicionales para hacer el problema más fácil de encontrar.

Yo tenía el mismo problema. Cuando he comprobado encontré que el nombre del recurso XML en diseño no estaba teniendo la convención de nomenclatura correcta. Tenía algunas letras mayúsculas. Así que le cambió el nombre a que todas las letras en minúsculas y la magia trabajaron.

Una de las razones del R.class puede ir perdiendo de repente es cuando hay errores en Ti archivos XML. Por ejemplo, cuando se agrega un archivo XML con letras mayúsculas en el nombre como myCoolLayout.xml que no está permitido. O cuando tiene referencias que no apuntan a archivos existentes, etc.

En Eclipse, sólo tiene que utilizar Project -> limpia para limpiar el proyecto. los R.java va a ser automaticamente (re) -creada.

Si por alguna razón que el trabajo dosn't: Asegúrese sus archivos layout.xml no contiene errores. Eclipse parece ser un poco buggy aquí: a veces no marca los errores en el código XML ni el explorador de paquetes. En este caso, un: Tome un vistazo a la "consola" o ver "problemas" después de usar "limpia". Todos los errores se deben mostrar allí. Corregirlos y volver a hacer una limpieza.

Nota:! No es necesario recurrir a corregir los errores que recibe debido a un archivo falta R Sólo fijar los archivos XML y otros errores de proyecto y el uso limpio

Solución rápida:

El nombre del paquete en las necesidades manifiestas a ser el mismo que el que está en la carpeta /src, el paquete carpeta /gen se reproducirá automáticamente.

observación detallada:

Observe el nombre del paquete en la carpeta /gen. En mi caso fue diferente a la de la carpeta /src.

El paquete que se hace referencia en el manifiesto fue el de la carpeta /gen.

he intentado añadir un paquete con el nombre de la carpeta a la carpeta /src /gen también ver lo que hubiera sucedido, pero esto no ha solucionado el problema. Procedí a continuación para eliminar el nombre del paquete que no era el mismo que el nombre del paquete de la carpeta /src. Este paquete con el nombre que no correspondía a la carpeta /src fue recreado tan pronto como se lo quité.

Dado que la referencia paquete en el manifiesto correspondía a la que estaba siendo sin sentido recreada y que no se correspondía con el paquete en la carpeta /src, esto llevó a cambiar el nombre de package = "oldPackage" con el package = "srcFolderPackage".

Yo tenía el mismo problema, y ??finalmente he encontrado el problema: En el strings.xml, no me quedo con el <string name="app_name">program-name</string> línea que está presente de forma predeterminada cuando se crea un nuevo proyecto Android. Pensé que fue utilizado solamente para el programa HelloWord, que es el programa original.

Sin embargo, el AndroidManifest.xml se refiere a este valor, por lo tanto:

error de compilación => A;
=> El R.java no se actualiza;
=> ID no son reconocidos ...

Android ha añadido en SDK ADT herramienta de construcción 22 para el mecanismo de construcción. Sólo tiene que seguir los siguientes pasos.

  1. Herramienta de actualización del SDK de Android
  2. Actualización de Android herramienta SDK de la plataforma
  3. Actualización de Android SDK Herramienta de Construcción
  4. Añadir la ruta de la herramienta de construcción de la variable de ruta. (Camino hasta su directorio -----PATH \ android-sdk \ acumulaciones de herramientas)

Esto va a resolver el problema.

Si no se está generando el R.java, una de las soluciones es borrar el archivo de diseño llamado "blabla.out.xml".

Después de eliminar este archivo, intente limpiar el proyecto desde el menú Proyecto -.> Limpieza

Como una generalización de la respuesta de Glaux, si tiene cualquier errores en el directorio res, entonces puede que no genere R.java - incluso si se limpia y reconstruir. Resolver esos errores en primer lugar.

A modo de ejemplo: cuando se agrega un archivo de imagen de, por ejemplo, "myimage-2.jpg", el sistema considerará esto un error, ya que los nombres de archivos se limitan a los valores alfanuméricos. Hacer una actualización en el directorio de su 'res' después de añadir todos los archivos y ver el resultado en la ventana de consola para las advertencias de nombre de archivo.

Si su sistema operativo es Ubuntu, puedo proporcionar alguna sugerencia:

  1. Instalar o actualizar IA32-lib:

    sudo apt-get upgrade ia32-libs
    
  2. Compruebe si tiene los permisos adecuados sobre la carpeta aapt:

    cd ANDROID/adt-bundle-linux-x86_64-20130522/sdk/build-tools/android-4.2.2
    chmod 777 aapt
    
  3. Inicio Eclipse:

    sudo eclipse
    
  4. Ejecutar proyecto -> Limpio en Eclipse

100% tiene un error en un archivo XML-, pero la verificación XML no le mostrará el error. Esta es la razón por la cual es necesario comprobar los archivos XML primero!

Es siempre es útil echar un vistazo a la Problemas Tab en Eclipse. En mi caso, que era conseguir una " androide no puede resolver objetivo 'android-8' " mensaje de error que mantuvo el R.java que se genere. Por lo tanto, he corregido la importación destino a la que yo estaba usando en el default.properties archivo, Entonces, decidí hacer una limpieza a través de Proyectos de> Limpio y listo! R.java se genera automáticamente! Espero que ayude!

Proyecto de limpieza, cerrando Eclipse, volver a abrirlo y poner en marcha mi proyecto finalmente hizo que mi R.java a reaparecer ... Espero que ayuda

Asegúrese de que no está importando

android.R;

R.java no se generará si hay algún error en la carpeta res. Por ejemplo, en la subcarpeta dibujable hay dos archivos que tienen el mismo nombre, uno es icon.png y el otro es icon.html.

Se puede ver algunos de error en la ventana de registro de la consola de Eclipse que está diciendo "icono de la entrada de recursos ya está definido.". Después de eliminar icon.html, se puede limpiar o simplemente eliminar la carpeta gen. Usted encontrará que se crea R.java.

he descubierto que cualquier archivo que tiene mayúsculas en la carpeta res creará este error. Esto me sucedió con un archivo PNG añadí y se olvidó de.

Después de leer muchos mensajes y videos de YouTube, me encontré con que cada uno de nosotros tenemos R.java falta por diferentes razones.

Así es como me fijo en este Eclipse:

  • Crear R.java en la carpeta gen manualmente y guardar.
  • Después de que vaya a Proyecto y haga clic en "Clean"

El siguiente mensaje se mostrará y su archivo será automáticamente reescrito:

R.java fue modificado manualmente! Volviendo a la versión generada!

Para mí, me había ligado v7 appcompat dos veces. De todos modos, en Eclipse, haga clic derecho en el nombre del proyecto en el Explorador de paquetes o Navigator, vaya a Propiedades, Android, y desactive cualquier duplicado en la sección Biblioteca. Es posible que necesite para construir -.> Limpiar después

No es, obviamente, no hay una respuesta definitiva a esto, pero aquí hay otra que no veo aquí ya:

He tenido R.java desaparecen después de (intentar) Sincronizar un equipo, y no había archivos de resolución de conflictos en el proyecto (es decir, thingy.xml.mine, thingy.xml.r35, etc.). Borrarlos / resolver los conflictos R regenerado.

he tenido este problema. He eliminado accidentalmente este

xmlns:tools="http://schemas.android.com/tools"

, que comenzó a causar errores de generación en todo el proyecto en mis archivos XML, así como mis archivos Java. Tan pronto como volver a teclear lo he borrado, funcionó de nuevo:)

Aceptar así que está claro que no puede haber una gran cantidad de causas para este problema. Si estás en una máquina Linux de 64 bits y sólo está configurando el ADT, por primera vez, es posible obtener este problema en el que R no está generando automáticamente. Compruebe la pestaña de la consola y es posible que aparezca un error similar al siguiente:

 'No such file or directory' while attempting to get adb version from '/home/patrick/code/android-sdks/platform-tools/adb'

Si ese es el caso de tener que instalar ia32-libs, usando algo como:

 sudo apt-get install ia32-libs

Consulte aquí para más detalles: ??Android ADB que no se encuentra

He encontré con este problema en un par de veces. He descubierto que si no me importa el paquete R a través nombre de mi aplicación, por ejemplo, si mi solicitud tenía el nombre del paquete ejemplo.test entonces me di cuenta que tenía que importar example.test.R con el fin de acceder a los recursos.

Si esto no se importó entonces los recursos que fueron devueltos en los que conseguir los recursos por defecto con ninguno de mi propio incluido.

Dicho esto, si usted encuentra que usted está consiguiendo solamente una lista de recursos predeterminados a continuación, sólo asegúrese de que usted está importando application_package_name.R y no android.R.

Mi problema era que appcompat no estaba en el mismo directorio que mi proyecto.

Me descubrió esto al compilar mi aplicación con Ant .

También asegúrese de que usted tiene la última versión del plugin ADT, y abrir el administrador de Android SDK para actualizar todas las herramientas de SDK a la última versión. Comprobar si hay actualizaciones en sí Eclipse también. No coincidentes versiones causaron el problema para mí.

Mi problema estaba dentro de un archivo de menú. El compilador no parece que le avise si existen cadenas que no lo hacen en el interior strings.xml se hace referencia en los archivos de menú. Comprobar si sus items en los archivos XML de menú Referencia ningún tipo de condiciones que no existen en su strings.xml. Por lo general, en android:title.

Para mí, este error se produce cuando traté de duplicar un res/menu existentes en lugar de crear uno con el wizard.

Todas estas respuestas no podría funcionar si se utiliza Maven. La solución para mí fue la de añadir

<genDirectory>${project.basedir}/gen</genDirectory>

a la sección de configuración de android--plugin maven.

He encontrado una solución R.class por qué no se hace por Eclipse después de hacer de nuevo -. 2 limpio, construcción, etc.

El problema es aquí en strings.xml:

<string name="hello">Hello World, HelloAutoComplete!</string>

<string name="app_name">HelloAutoComplete</string>

Estos son por defecto creado por Eclipse cuando se crea proyectos.

Definitivamente va a cambiar el strings.xml para sus propias necesidades. A veces se borran los string.xmls estas dos líneas de código:

Se está haciendo un problema en el archivo AndroidManifest.xml:

<application android:icon="@drawable/icon"  android:label="@string/app_name">
<activity android:name=".HelloAutoComplete" android:label="@string/app_name">

Por lo tanto, no se puede comunicar con strings.xml.

he cambiado de nombre de archivo XML disposición y más tarde descubrí que la del archivo XML (proveedor de widget en este caso) todavía se refiere a la antigua XML diseño que no existe, y que evita la generación de auto / corrección de la clase I .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top