Descubrí que mi R.java nunca se actualiza, por lo que no contiene información sobre mis nuevos recursos, así que decidí eliminarlo y pensé que Eclipse generaría uno nuevo. Pero eso no sucedió, y no tengo R.java ahora. ¿Cómo puedo regenerar uno?
Estoy usando Windows 7.
De uno de los comentarios: "Hacer Proyecto -> Limpiar es lo que me causó el problema. Limpiar elimina R.java ... y por cualquier razón el complemento no está regenerando el archivo".
android
eclipse
r.java-file
Peter Mortensen
fuente
fuente
Respuestas:
Este sitio sugiere:
...y...
Este sitio sugiere otra solución.
fuente
R.java
, en lugar de regenerarlo. stackoverflow.com/questions/13065425/…Encontré que esto me sucedía con un diseño roto y todo explota. Relájese, es como ese viejo error cuando aprendió la programación C donde olvida un punto y coma y genera cientos de errores. Muchos entran en pánico, presionan todos los botones y empeoran las cosas.
Solución
R.
enlaces no estén rotos. Solucione todos los errores en sus archivos XML . Si algo en los ADK está roto,R
no se regenerará.import android.R
en su actividad, elimínelo .Menu -> Project -> Build Project
.Qué hacer si R no se regenera
Esto suele suceder cuando tiene un archivo XML roto.
/res/
carpeta/layout/
y/values/
, especialmente si ha cambiado uno de ellos recientementeAndroidManifest.xml
. Encuentro que a menudo cambio una cadena y olvido cambiar el nombre de la cadenaAndroidManifest.xml
.Android SDK Build-tools
esté instalado. Ventana -> Administrador de Android SDK -> Herramientas -> Herramientas de compilación de Android SDKAndroid SDK Tools
, también actualice elAndroid SDK Platform-tools
yAndroid ADK Build-tools
. La construcción falla en silencio si no coinciden.fuente
Tuve el mismo problema. Cuando lo revisé, descubrí que el nombre del recurso XML en el diseño no tenía la convención de nomenclatura correcta. Tenía algunas letras mayúsculas. Así que le cambié el nombre para que todas las letras fueran minúsculas y la magia funcionó.
fuente
Una razón por la que R.class puede desaparecer repentinamente es cuando hay errores en sus archivos XML. Por ejemplo, cuando 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.
fuente
Si por alguna razón eso no funciona: asegúrese de que sus archivos layout.xml no contengan errores. Eclipse parece ser un poco defectuoso aquí: a veces no marca los errores dentro del XML ni el explorador de paquetes. En tal caso: eche un vistazo a la vista "consola" o "problemas" después de usar "limpiar". Todos los errores deben mostrarse allí. Arreglarlos y rehacer una limpieza.
NOTA: ¡NO es necesario corregir los errores que obtiene debido a la falta de un archivo R! ¡Solo arregle los archivos XML y otros errores del proyecto y use clean!
fuente
Arreglo rapido:
El nombre del paquete en el manifiesto debe ser el mismo que el de la
/src
carpeta, el/gen
paquete de la carpeta se reproducirá automáticamente.Observación detallada:
Observe el nombre del paquete en la
/gen
carpeta. En mi caso fue diferente al de la/src
carpeta.El paquete al que se hace referencia en el manifiesto era el de la
/gen
carpeta.Intenté agregar un paquete con el nombre de la
/src
carpeta a la/gen
carpeta para ver qué hubiera pasado, pero esto no resolvió el problema. Luego procedí a eliminar el nombre del paquete que no era el mismo que el nombre del paquete de la/src
carpeta. Este paquete con el nombre que no correspondía a la/src
carpeta se recreó tan pronto como lo eliminé.Dado que la referencia del paquete en el manifiesto correspondía a la que se estaba recreando sin sentido y que no correspondía con el paquete en la
/src
carpeta, esto provocó un cambio de nombrepackage = "oldPackage"
con elpackage = "srcFolderPackage"
.fuente
Tuve el mismo problema y finalmente encontré el problema: en strings.xml, no mantuve la línea
<string name="app_name">program-name</string>
que está presente de forma predeterminada al crear un nuevo proyecto de Android. Pensé que solo se usaba para el programa HelloWord, que es el programa original.Sin embargo, AndroidManifest.xml se refiere a este valor, por lo tanto:
=> Un error de compilación;
=> el R.java no se actualiza;
=> La identificación no se reconoce ...
fuente
Android ha agregado en la herramienta de compilación SDK ADT 22 para el mecanismo de construcción. Solo necesita hacer los siguientes pasos.
Esto resolverá el problema.
fuente
Si su R.java no se está generando, una de las soluciones es eliminar el archivo de diseño llamado "blabla.out.xml".
Después de eliminar este archivo, intente limpiar el proyecto desde el menú Proyecto -> Limpiar .
fuente
Como una generalización de la respuesta de Glaux, si tiene algún error en el
res
directorio, entonces R.java puede no generar, incluso si limpia y reconstruye. Resuelva esos errores primero.Como ejemplo: cuando agrega un archivo de imagen de digamos "myimage-2.jpg", el sistema lo considerará un error, ya que los nombres de los archivos están limitados a valores alfanuméricos. Actualice su directorio 'res' después de agregar cualquier archivo y observe la salida en la ventana de su consola para ver las advertencias de nombre de archivo.
fuente
Si su sistema operativo es Ubuntu, puedo proporcionar algunas sugerencias:
Instale o actualice ia32-lib:
Compruebe si tiene el permiso correcto en la carpeta aapt:
Inicie Eclipse:
Ejecutar proyecto -> Limpiar en Eclipse
fuente
El 100% tiene un error en un archivo XML , pero la verificación XML no muestra el error. ¡Esta es la razón por la que primero debe verificar sus archivos XML!
fuente
SIEMPRE es útil echar un vistazo a la pestaña Problemas en Eclipse. En mi caso, recibí un mensaje de error " Android no puede resolver el objetivo 'android-8' " que impedía que se generara el R.java. Entonces, corregí el objetivo importado al que estaba usando en el archivo default.properties , luego realicé una limpieza a través de Proyectos-> ¡Limpiar y listo! R.java se genera automáticamente! ¡Espero eso ayude!
fuente
El proyecto de limpieza, cerrar Eclipse, volver a abrirlo y lanzar mi proyecto finalmente hizo que mi R.java reapareciera ... Espero que ayude
fuente
Asegúrate de no importar
android.R;
fuente
R.java nunca se generará si hay algún error en la
res
carpeta. Por ejemplo, en la subcarpeta dibujable hay dos archivos que tienen el mismo nombre, uno es icon.png y el otro es icon.html.Puede ver algún error en la ventana de registro de la consola Eclipse que dice "El icono de entrada de recursos ya está definido". Después de eliminar icon.html, puede limpiar o simplemente eliminar la
gen
carpeta. Encontrará que se creó R.java.fuente
Descubrí que cualquier archivo que tenga letras mayúsculas en la
res
carpeta creará este error. Esto me sucedió con un archivo PNG que agregué y me olvidé.fuente
Después de leer muchas publicaciones y videos de YouTube, descubrí que cada uno de nosotros
R.java
falta por diferentes razones.Así es como solucioné esto en Eclipse:
gen
carpeta manualmente y guárdelo.Aparecerá el siguiente mensaje y su archivo se reescribirá automáticamente:
fuente
Para mí, había vinculado v7 appcompat dos veces. De todos modos, en Eclipse, haga clic con el botón derecho en el nombre del proyecto en Package Explorer o Navigator, vaya a Propiedades, Android y desmarque cualquier duplicado en la sección Biblioteca. Es posible que deba construir -> limpiar después.
fuente
Obviamente no hay una respuesta final a esto, pero aquí hay otra que no veo aquí:
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.). Eliminándolos / resolviendo los conflictos regeneradosR
.fuente
Tuve este problema Accidentalmente borré esto
que comenzó a causar errores de compilación en todo el proyecto en mis archivos XML, así como en mis archivos Java. Tan pronto como volví a escribir lo que borré, funcionó nuevamente :)
fuente
De acuerdo, está claro que puede haber muchas causas para este problema. Si está en una máquina Linux de 64 bits y solo está configurando el ADT por primera vez, puede tener este problema donde R no se genera automáticamente. Verifique la pestaña de la consola y puede ver un error similar a:
Si ese es el caso, necesita instalar ia32-libs, usando algo como:
Consulte aquí para más detalles: no se encontró adb de Android
fuente
Me he encontrado con este problema varias veces. Descubrí que si no importaba el paquete R a través del nombre de mi aplicación, por ejemplo, si mi aplicación tenía el nombre del paquete example.test, descubrí que tenía que importar example.test.R para acceder a cualquiera de los recursos
Si esto no se importó, entonces los recursos que fueron devueltos fueron los recursos predeterminados, sin incluir ninguno.
Dicho esto, si descubres que solo obtienes una lista de recursos predeterminados, solo asegúrate de que estás importando application_package_name.R y no android.R.
fuente
Mi problema fue que
appcompat
no estaba en el mismo directorio que mi proyecto.Descubrí esto al compilar mi aplicación con Ant .
fuente
También asegúrese de tener la última versión del complemento ADT y abra el administrador del SDK de Android para actualizar todas las herramientas del SDK a la última versión. Verifique las actualizaciones en Eclipse también. Las versiones no coincidentes me causaron el problema.
fuente
Mi problema estaba dentro de un archivo de menú. El compilador no parece advertirle si las cadenas que no existen en el interior
strings.xml
se mencionan en los archivos de menú. Verifique si susitem
archivos XML en su menú hacen referencia a cadenas que no existen en sustrings.xml
. Por lo general enandroid:title
.fuente
Para mí, este error fue causado cuando intenté duplicar uno existente en
res/menu
lugar de crear uno con elwizard
.fuente
Todas estas respuestas no podrían funcionar si usa Maven. La solución para mí fue agregar
a la sección de configuración de android-maven-plugin.
fuente
Encontré una solución por la cual R.cllass no está hecho por Eclipse después de hacerlo nuevamente: 2 limpio, compilado, etc.
El problema está aquí en strings.xml:
Estos son creados de manera predeterminada por Eclipse cuando crea proyectos.
Definitivamente está cambiando strings.xml para sus propios requisitos. A veces borras el string.xmls estas dos líneas de tu código:
Está creando un problema en el archivo AndroidManifest.xml:
Por lo tanto, no se puede comunicar con strings.xml.
fuente
Cambié mi nombre de archivo XML de diseño y descubrí más tarde que el archivo XML (proveedor de widgets en este caso) todavía se refiere al antiguo XML de diseño que no existe y que impidió la generación / corrección automática de la clase R.
fuente