Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


R no se puede resolver – Error de Android

Acabo de descargar e instalar el nuevo SDK de Android. Quería crear una aplicación sencilla para probarla.

El asistente creó este código:

package eu.mauriziopz.gps; import android.app.Activity; import android.os.Bundle; public class ggps extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } } 

Pero Eclipse me da el error

R no se puede resolver

En linea

 setContentView(R.layout.main); 

¿Por qué?

PS: Tengo un archivo XML llamado main.xml bajo res/layout/ .

  • Cambiar el nivel de SDK de Android Project
  • No se puede actualizar el complemento de ADT en Eclipse a la versión 23.0.0 o superior
  • Acceso al servidor web que se ejecuta dentro de Eclipse desde fuera de la estación de trabajo
  • Cómo utilizar Gradle para generar archivos de proyecto Eclipse e Intellij para proyectos de Android
  • No puede acceder a la memoria en la dirección 0X1 después de configurar gdb y eclipse para depurar la biblioteca compartida de la aplicación Android
  • Eclipse ADT Excepción inesperada 'No se puede ejecutar el programa'
  • Recursos de Android $ NotFoundException
  • ¿Existe una variante de caso?
  • 30 Solutions collect form web for “R no se puede resolver – Error de Android”

    Después de rastrear este problema también, encontré esta nota en la documentación de Android:

    http://source.android.com/source/using-eclipse.html

    * Nota: a veces, a Eclipse le gusta agregar una sentencia "import android.R" en la parte superior de los archivos que utilizan recursos, especialmente cuando pide a Eclipse que ordene o gestione las importaciones. Esto hará que tu marca se rompa. Busque estas declaraciones de importación erróneas y elimínelas. *

    Mientras pasaba por los tutoriales de muestra de Android, solía utilizar el comando Ctrl + Mayús + O para "Organizar Importaciones" y generar las sentencias de importación que faltan. A veces esto generaría la instrucción de importación incorrecta que ocultaría la clase R.java que se genera automáticamente al crear.

    Cada vez que tenía un problema con R no se ha generado, o incluso desapareció, esto se debió a algún problema en el archivo de diseño XML que impidió la aplicación de ser construido.

    Siempre que consigas

    R no se puede resolver

    A continuación, /res directorio /res y debe haber algún archivo que tenga algún error en él y que está impidiendo que se construya la aplicación. Por ejemplo, puede ser un archivo de diseño o puede deberse a algún recurso que falta, pero ya lo ha definido en el archivo XML.

    Si tiene imágenes adicionales, incluso no utilizadas (!) O no referenciadas (!) En una carpeta como res / drawables-mdpi que no cumplen con las convenciones de nombres de archivos (puede contener sólo [a-z0-9_.]), La R.java clase podría no generar, causando la cadena de eventos de todos los demás puestos a que se refiere. ¡Espero eso ayude!

    Mi proyecto tiene incluir un r.java.at al principio, trabajo de R.layout.main bueno. Pero, después de agregar un cierto código no trabaja, y el error es R.layout.main no puede resolved.what es el problema ?

    Mira tus importaciones. Lo más probable es que la línea:

     import android.R; 

    estaré ahí. Si ese es el caso, quítelo, para que su proyecto resuelva R no con la clase predeterminada de recursos de Android, pero con la que se generó automáticamente desde su carpeta / res /.

    Y otra cosa que puede causar este problema:

    Instalé el nuevo ADT (v. 22). Dejó de crear la carpeta gen que incluye R.java . La solución fue instalar también nuevas herramientas de compilación SDK de Android desde el SDK Manager de Android.

    Solución encontrada aquí

    R.java es un archivo que los complementos de Android Eclipse crean mientras se construye la aplicación. R.java se crea bajo el directorio "gen". Este archivo se genera a partir de la información del directorio "res". Si ejecuta seleccionar "Proyecto" -> "Limpiar …" en el menú Eclipse, se eliminará y luego se regenerará el archivo R.java .

    El problema "R no se puede resolver" sucede cuando cambia el nombre del paquete en el archivo AndroidManifest.xml . Utiliza el nombre del paquete de Android para crear un subdirectorio en el directorio "gen" donde almacena el archivo R.java .

    Eclipse puede tener problemas para ejecutar limpio, porque está confundido acerca de dónde se encuentra el archivo R.java cuando ha cambiado el nombre del paquete de Android. Puede cambiar el nombre del subdirectorio en gen para que coincida con el nuevo nombre del paquete o puede cambiar el nombre del paquete de nuevo al nombre antiguo. Haga la limpieza y luego cambie el nombre del paquete al nuevo nombre que desea. Esto funciona mejor si impide que Eclipse intente crear mientras está cambiando el nombre del paquete. Bajo el menú "Proyecto", desmarca la opción "Crear automáticamente" y también cuando el cuadro de diálogo "Limpiar …" le pregunta si debe "Iniciar una construcción inmediatamente" desmarque la casilla para que no intente construir mientras está cambiando El nombre del paquete. Después de haber cambiado el nombre, puede activar "Crear automáticamente" de nuevo.

    Tenga en cuenta que si su nombre de paquete de archivo AndroidManifest.xml no coincide con su nombre de paquete Java, Eclipse terminará agregando automáticamente una "importación <su nombre de paquete de Android> .R;" En todos sus archivos .java que tengan referencias a R. Si cambia el nombre del paquete AndroidManifest.xml , a veces Eclipse no actualiza todas estas importaciones añadidas. Si esto sucede, utilice la refactorización de Eclipse ( ALT + Shift + R ) para cambiar la declaración de importación en uno de sus archivos Java a su nuevo nombre de paquete AndroidManifest.xml . Lo mejor es hacerlo mientras haya desactivado "Generar automáticamente".

    Lo que dijo correcto

    R es una clase generada automáticamente que contiene las constantes utilizadas para identificar sus recursos. Si no tiene un archivo R.java (sería gen / eu.mauriziopz.gps / R.java en> Eclipse con el SDK 1.5) Recomendaría cerrar y reabrir su proyecto o ir a> Proyecto> Crear todo (Y seleccionando "Construir automáticamente" mientras está allí como recomendado por> Josef). Si eso no funciona, intente hacer un nuevo proyecto, si el problema se vuelve a crear, vuelva a publicar aquí y entraremos en más detalles.

    Pero he descubierto que había otro problema que estaba causando la primera. Las herramientas en el directorio SDK no tenían los permisos para ser ejecutados, por lo que era como el que no existía para Eclipse, por lo que no se construyó el archivo R.java .

    Así que modificar el permiso y seleccionar "Build Automatically" resolvió el problema.

    R es una clase generada automáticamente que contiene las constantes utilizadas para identificar sus recursos. Si no tienes un archivo R.java (sería gen / eu.mauriziopz.gps / R.java en Eclipse con el SDK 1.5) te recomendaría cerrar y reabrir tu proyecto o ir a Project> Build all (and Seleccionando "Construir automáticamente" mientras estuviera allí recomendado por Josef). Si eso no funciona, intente hacer un nuevo proyecto, si el problema se vuelve a crear, luego vuelva a publicarlo y entraremos en más detalles.

    Cierre todos los archivos, limpie el proyecto, reinicie Eclipse.

    Este error también puede deberse a la adición de una actividad a un espacio de nombres distinto al espacio de nombres raíz de su paquete.

    Por ejemplo, si com.example.myapp es el espacio de nombres raíz de su paquete, puede agregar una actividad al espacio de nombres com.example.myapp.activities .

    Esto producirá el error "R no se puede resolver".

    Para corregir la importación, el R en el espacio de nombres predeterminado en su actividad debe ser:

     import com.example.myapp.R; 

    Junto con las sugerencias grandes en las respuestas anteriores, asegúrese de que su objetivo Android está configurado:

    1. Haga clic derecho en su proyecto
    2. Elegir Propiedades
    3. Elige Android en el menú de la izquierda
    4. Marque una casilla junto al destino de proyecto adecuado.
    5. Haga clic en Aplicar y Aceptar

    Edit: Un año después encontré otra causa. Tenía una imagen .jpg en mi carpeta dibujable con el mismo nombre que una imagen .png. Hacer referencia a esta imagen en mi código debe haber confundido el programa y dio el error "R no puede ser resuelto".

    Vale la pena comprobar en AndroidManifest.xml . El package atributos tiene el valor correcto.

    Es decir, <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="your.correct.package.name" ...

    Después de cambiar eso, el R.java se volverá a generar.

    Asegúrese de que ha instalado la herramienta de creación de Android formulario sdk manager

    Proyecto right-click properties-> Java BuildPath seleccione Biblioteca y agregue android-support.jar siga estos pasos.

    Vaya a Proyecto-> Propiedades-> Ruta de construcción de Java que seleccione la pestaña Ordenar y exportar. Establezca la biblioteca .jar de android-support y selecciónela en la parte superior de la lista. Y limpio y reconstruir .. Funciona para la mayoría de los casos

    Introduzca aquí la descripción de la imagen

    Acabo de tener este problema por millonésima vez y me di cuenta de lo que estaba causando: He creado un archivo XML con letras mayúsculas en el nombre. Todos los nombres de archivo XML en /res deben coincidir con [a-z0-9\\._] .

    Solución más sencilla – A veces sólo necesita guardar el archivo XML en el que estaba trabajando para obtener el autogenerador.

    Guarde el archivo (por ejemplo, main.xml) y luego elimine el archivo R.java y verifique si el R.java regenerado resuelve el problema de resolución R.

    Compruebe los nombres de archivo XML. Asegúrese de que todos estén en minúsculas.

    También asegúrese de que todos los nombres de recursos de imagen también están en LOWER CASE. Tenía una letra mayúscula en el nombre de mi archivo jpg, y causó el error sin resolver de R a través de mi proyecto.

    R es una clase generada. Si está utilizando las herramientas de desarrollo de Android (ADT) , se genera cada vez que se construye el proyecto. Es posible que tenga 'Generar automáticamente' desactivado.

    Este error apareció en mi instalación de x64 Linux Mint. Resultó que el resultado fue un fallo en el binario ADB , porque el paquete ia32-libs no estaba instalado. Simplemente ejecutando apt-get install ia32-libs y relanzando Eclipse arreglaron el error.

    Si su distro x64 no tiene ia32-libs, tendrá que ir Multiarch.

    Revise los puntos # 4 y # 5 en este post: http://crunchbang.org/forums/viewtopic.php?pid=277883#p277883

    Espero que esto ayude a alguien.

    Es posible que deba actualizar las herramientas de SDK. Vuelva a iniciar Android SDK Manager e instale un nuevo elemento: Android SDK Build-tools.

    Introduzca aquí la descripción de la imagen

    Yo tuve este problema también. Resultó que había eliminado inadvertidamente el recurso de cadena "app_name" del archivo strings.xml , que estaba causando un error silencioso. Una vez que lo agregué de nuevo, la clase R se generó con éxito y todo estaba de nuevo en funcionamiento.

    Puede que tenga que actualizar / instalar las herramientas de SDK. Vuelva a iniciar el Administrador de SDK de Android e instale un nuevo elemento: Android SDK Build-tools.one por un borrado, arreglar uno que funcione para usted. Introduzca aquí la descripción de la imagen

    Trate de hacer su nuevo nombre de archivo de diseño XML en minúsculas. Por ejemplo, use my_file.xml lugar de myFile.xml .

    Otra razón por la que R.java podría no ser autogenerada es si tiene directorios como res / drawable-hdpi , res / drawable-mdpi o res / drawable-ldpi .

    1.6+ parece estar bien con estos directorios, pero 1.5 no los quiere. Cuando quité esos directorios, R.java comenzó a autogenerar para mí otra vez.

    Lamentablemente ninguna de las preguntas existentes ayudó. Dado que mi problema parece específico de la plataforma, esto sólo puede funcionar si está en Ubuntu 64 Bit (actualmente estoy usando Ubuntu 12). Al principio no vi la ventana "Problemas", que ya daba a entender una solución, que en el entorno de 64 bits se necesitan las librerías de 32 bits, que pueden faltar:

    Sudo apt-get install ia32-libs

    He instalado el paquete y reconstruir mi proyecto, que fijó el problema para mí.

    reinicia tu computadora.
    Nada me ayudó excepto esta manera

    Sólo tienes que ir a la lista de Android Top menú. Haga clic en Construir Menú, en bajo Construir haga clic en Reconstruir Proyecto .

    Introduzca aquí la descripción de la imagen

    Tuve los ejemplos de Android 8 y estaba tratando de usar Android 7 SDK. Cuando cerré el proyecto y volví a abrir la carpeta de la aplicación y decidí utilizar el SDK de Android 8, fue capaz de encontrar el archivo R. Espero que esto ayude.

    En mi caso, tuve un error en mi AndroidManifest.xml . Otros han dicho que sus archivos XML deben estar libres de errores, pero solo estaba buscando en la carpeta res /. Encontrar y corregir tantos posibles errores y el problema puede muy bien resolver por sí mismo.

    Muchas veces esto se debe al número de versión de MinSDK que proporcionaste al crear el proyecto. Ejemplo:

    Si desea que 2.1 sea el mínimo, Android 2.1 es realmente API Nivel 7.

    Puede ver lo que estoy hablando cuando explore el SDK que descargó e instaló. Navegue hasta el lugar donde instaló el SDK ( C:\android-sdk-windows por ejemplo) y abra la carpeta llamada "plataformas". Verá algo como "android-7" como una carpeta, y si abre que hay un archivo source.properties que, cuando se abre con un editor de texto, le mostrará la versión de la plataforma correspondiente.

    Cuando crea un proyecto y debe seleccionar una API de "Generar destino", la última columna de esa lista denominada "Nivel de API" muestra el número que está buscando al rellenar la configuración de MinSDK.

    Éste es probablemente uno de los errores más comunes que da lugar a que el archivo de R.java no esté siendo creado bajo Proyecto> gen> nombre de paquete> R.java.

    Quite main.out.xml . Soy nuevo en esto y todavía no sé para qué se utiliza este archivo, pero eliminarlo eliminó el problema.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.