Error Android – Eclipse lanza un error que no existe por ningún lado


En algunos casos Eclipse da un error que no existe, que evita poder ejecutar el código. Este error se distingue porque solo aparece una X roja junto a la carpeta contenedora del proyecto, pero en ningún otro lugar del proyecto, como puede ser: clase, layout, String.xml, etc.

Nota: Si tenemos un proyecto que estamos haciendo desde un año o más, ver el error: Certificado de depuración caducado. Si no es el caso, sigue leyendo.

Es un problema de Eclipse por no poder referenciar R. Este error viene por problemas con las referencias que provocan que R no puede regenerarse. Normalmente se corrige solo, pero alguna veces no.

Existen varias soluciones que pueden corregir el problema. Recomendamos empezar por la primera solución propuesta y ver si se soluciona, sino pasar a la siguiente.

 

Solución 1

Lo más probable es que sea algún recurso nuevo que haya sido introducido o creado en alguna carpeta de "res". Posiblemente alguna imagen en la carpeta "drawable" o algún diseño en "layout".

El problema es por le nombre del archivo que no cumpla las condiciones para nombres de recursos de estas carpetas dentro de "res".

Las condiciones son que los nombres de los recursos tienen que estar siempre en minúscula, solo letras, sin espacio, y de símbolos el único permitido es el guión bajo "_". Todos los demás símbolos están prohibidos, dará error y provocará que R.java no se regenere hasta que no se solvente este problema. Las normas se aplican para el nombre del fichero, no para la extensión (png, xml, …) que llevará punto ".", para separarse del nombre del fichero. Unos ejemplos:

  • Ejemplo de nombre permitido en un recurso: "mi_imagen.png"
  • Ejemplo de nombre NO permitido en un recurso: "Mi.imagen.png" (por la mayúscula y el punto en el nombre) o "100&imagen.jpg" (por el número en el nombre y el símbolo &).

 

Solución 2

Comprobamos que Eclipse tenga marcado el tick "Build Automatically" que se encuantra en el menú "Project".

El problema se debe haber solucionado. Si no es así probar con la siguiente solución.

Solución 3

Cerrar el emulador y reiniciar el Eclipse.

El problema se debe haber solucionado. Si no es así probar con la siguiente solución.

Solución 4

Comprobar que los XML estén bien formados. Es decir, abrir archivo a archivo de la carpeta "res", para ver si Eclipse al abrirla marca el XML con fallo (X roja) o Warning que impida la referencias (los Warning de "deprecated" o recomendaciones no son la causa). Normalmente el error viene porque aparece un Warning sobre algún ID del XML, que se arregla eliminado la línea entera del ID, guardando todo, volviendo a crear el ID desde cero, y guardando otra vez todo.

Si es así, realizar los cambios oportunos y guardar todo.

El problema se debe haber solucionado. Si no es así probar con la siguiente solución.

Solución 5

Para esta solución recomendamos realizar una copia de seguridad de todo el proyecto, por si acaso poder recuperar.

La mayoría de las veces este error se soluciona en la pestaña “Project” de la barra de tareas. Y seleccionando “Clean…”. Esto sirve para limpiar y recargar el historial de errores de Eclipse. NOTA: Se recomienda encarecidamente hacer una copia del proyecto antes de hacer el “Clean…”.

Probamos a seleccionar “Clean projects selected below”, y seleccionamos exclusivamente el proyecto que tenga el problema. Damos a “OK”.

Hacer el clean una vez es suficiente para saber si funciona o no, más cleans seguidos aumentan las probabilidades de perjudicar al proyecto.

El problema se debe haber solucionado. Si no es así probar con la siguiente solución.

Solución 6

Después de haber hecho un solo clean de la "Solución 4" volvemos a reiniciar Eclipse.

Modificar un fichero cualquiera XML de la carpeta "res". Por ejemplo, para que se quede como está añadir un espacio y quitarlo, luego guardarlo todo.

Comparte esta entrada en:
Safe Creative #1401310112503
Error Android – Eclipse lanza un error que no existe por ningún lado por "www.jarroba.com" esta bajo una licencia Creative Commons
Reconocimiento-NoComercial-CompartirIgual 3.0 Unported License.
Creado a partir de la obra en www.jarroba.com

64 thoughts on “Error Android – Eclipse lanza un error que no existe por ningún lado”

  1. podrian poner para los que no tenemos tarjeta de credito poder donar por medio del credito del telefono, como lo hacen en ciertos juegos online.
    gracias x el libro!!

    1. Me alegro que te haya gustado el libro 🙂

      Muchas gracias por la sugerencia de las donaciones por teléfono, si vemos que es posible la aplicaremos.

  2. hola, tengo un problema con android Studio y es cuando quiero abrir un proyecto me aparece esto "Cannot load project: java.lang.NullPointerException"

  3. hola, podrias ayudarme, estuve trabajando en un proyecto y quize meter una cancion al proyecto y despues de ello me borro la carpate de (res) 

    cual crees que sea mi problema?

     

    1. No suele ser habitual que se borren así porque sí los directorios. Genera de nuevo el proyecto nuevo, y copia todo el código al mismo, pues puede que el otro proyecto esté corrupto.

      1. Lo hare Muchas gracias.

        en esta pagina puedo aprender ajustar los layout para todos los dispositivos mobiles?

  4. Hola tengo un problema para correr un par de programas en Eclipse, al darle Run me sale el siguiente mensage "The selection cannot be launched, and there are no recent launches".Intente buscar en internet soluciones, pero aparte que estaban en ingles no me ayudaban.
     Me gustaria saber que es y por que se origina, soy principiante. Gracias

  5. Hola,

    Ando desesperado porque programando desde el móvil una simple app que sume dos números aparentemente tengo todo ok, el java, el XML.. Pero al abrir la spp me salta un error de "Se ha detenido la aplicación SumaNumeros" soy principiante, me podéis ayudar?

     

     

     

    1. Hola Andrés. Pueden ser muchas cosas. Mira el logcat a ver que error te sale (cuando te ocurra el error aparecerá un montón de texto en rojo).

  6. necesito ayuda 

    me aparece una ventana "Android library projects cannot be lauchend" no se cual sea el motivo,soy principiante

    1. Parece que por alguna razón se te ha marcado el proyecto como biblioteca.

      Selecciona el proyecto con el botón derecho y elije «Properties». En la ventana que se abre, en la izquierda selecciona «Android» y a la derecha desmarca «Is Library».

      Hecho esto ya no será biblioteca y se podrá ejecutar. Siendo biblioteca puede ser ejecutado pero mediante otro proyecto que la importe. Con lo que cuidado, pues otros proyectos que tengas podrían dejar de funcionar si necesitan de ésta.

  7. Hola disculpa espero que de verdad me pudieras responder lo que psa es que cuando quiero correr mis archivos para saber si compila me aparece un mensaje algo asi como esto en un cuadro:

    Unable to Launch

    Algo como error de launches 

    La verdad nose que significa:/

  8. Muy buenas tardes, tengo una consulta y espero que puedas ayudar soy un programador junior el dia de ayer realice unos programas y cada uno corria muy bien, uso un programa que se llama Eclipse Java EE IDE for Web Developers. Version: Mars Release (4.5.0) y hoy quise continuar practicando pero me di cuenta que cada archivo me sale error ya sabes la equis roja como en archivo y en cada codigo y recuerdo que el dia de ayer Java me pidio una actualizar y no se si ese sea el problema ya que antes de actualizar corrida cada uno de mis programas sin problemas, Te agradeceria mucho si pudieras decirme como corregir este error y que ya no me vuelva a pasar? muchas gracias

    Saludos!

    1. Depende un poco del proyecto. Por lo general cuando pasan estas cosas es mejor mirar la consola de errores de Eclipse. También a porbar a compilar de nuevo el proyecto (click con el botón de derecho del ratón sobre el proyecto y «Refresh»). Otro que ayuda bastante es hacer un clean «Project/Clean…» (Nota: te recomiendo que hagas una copia de seguridad antes). Si estás trabajando en web posiblemente estés utilizando Maven, con Maven puedes forzar una actualización de snaptshots (tienes como hacer esto en http://jarroba.com/maven-en-eclipse/)

  9. Hola Ramón:

    Tengo un portal que compilabla y hacia el deploy sin problema, utilice el "Clean" y ya no encuentra la aplicación. indica:

    Apache Tomcat/7.0.64 – Informe de Error


    type Informe de estado

    descripción El recurso requerido no está disponible.

    Muchas gracias y saludos.

     

    1. Hola Alex. Entiendo que estés trabajando con Eclipse. Fíjate si la configuración de Eclipse de Tomcat sigue correctamente configurada. También te recomiendo que te fijes en las rutas de despliegue en el servidor, si está todo apuntando a donde deba.

  10. Hola, Cuando doy la opcion de crear un proyecto, voy a New–>Android Application Project ( no aparece esta opcion) ojala me puedas decir q debo hacer, soy un principiante, gracias

  11. Hola, una consulta.

    En el MainActivity.java tengo un switch con 2 case, el problema es que me error en los case, me dice CASE DUPLICADO, pero la verda no se porque ya que no son iguales. ayuda porfa, te muestro la parte de codigo.

        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data){
            switch(requestCode)
            {
             case SOLICITA_ACTIVACION:
                 //si el activity de activacion resulta OK
                if(resultCode == Activity.RESULT_OK)
                {
                    //avisa al usuario que Bluetooth fue activado
                    Toast.makeText(getApplicationContext(), "Bluetooth fue Activado", Toast.LENGTH_LONG).show();
                }else
                {
                    //sino dice al usuario que Bluetooth No fue activado
                    Toast.makeText(getApplicationContext(), "Bluetooth No fue Activado", Toast.LENGTH_LONG).show();
                    //finaliza de aplicacion
                    finish();
                }
                break;
                
             case SOLICITA_CONEXION:
                 if(resultCode == Activity.RESULT_OK)
                 {
                     MAC = data.getExtras().getString(ListaDispositivos.DIRECCION_MAC);
                    
                     Toast.makeText(getApplicationContext(), "Direccion MAC: " + MAC, Toast.LENGTH_LONG).show();
                    
                 }else
                 {
                     Toast.makeText(getApplicationContext(), "Falla al obtener la Direccion MAC", Toast.LENGTH_LONG).show();
                 }
                 break;
            }

    1. Hola Jorge. Se me ocurre es que SOLICITA_ACTIVACION y SOLICITA_CONEXION sean dos variables diferentes con el mismo valor.

  12. Hola…soy principiante… sólo quiero crear un TextView desde java… ya cree el id en el fichero xml y en el fichero de java tengo un error en la parte R.id.myTextView, seguí las recomendaciones de añadir un string al R pero no sale en el emulador el texto… la idea es hacerlo en java..
            TextView myTextView= (TextView) findViewById(R.id.myTextView);
            myTextView.setText("He modificado TextView con nuevo texto" + "usando java");
               

    1. Hola Graciela. El fichero R.java no hay que tocarlo nunca, es autogenerado.

      Para crear un TextView desde Java simplemente crea una nueva instancia, añádele las propiedades y lo añades al ViewGroup donde quieras (más información en: http://developer.android.com/reference/android/widget/TextView.html). Un ejemplo:

      View miViewGroup = findViewById(R.id.viewgroup_donde_lo_quieres_insertar);

      TextView miTextView = new TextView(this);

      miTextView.setText(«Poner propiedades como un texto»);

      miViewGroup.addView(miTextView);

  13. Yo no pude solucionar el error, instale todo de neuvo el eclipse y sdk de android, quedo todo igual. Asi que lo unico que hice fue al crear un nuevo proyecto en Android en la opción Minimun Required Sdk poner el Api 15 ( Ice cream Sandwich ), después en target y compliar elegi KitKat, ya que el Api 15 no te genera la carpeta AppCombat y puedo seguir trabajando sin ningun error.

    Saludos Cordiales

    Atte : SolucionesWindowsChile

    1. Hola Erik,

      Si es un símbolo amarillo, es un warning, el programa funcionará pero contiene algo que no está bien hecho.

  14. A mi me marca estos errores espero y me puedas ayudar

    [2014-12-05 16:12:51 – Examen2] warning: string ‘auth_client_needs_enabling_title’ has no default translation.
    [2014-12-05 16:12:51 – Examen2] warning: string ‘auth_client_needs_installation_title’ has no default translation.
    [2014-12-05 16:12:51 – Examen2] warning: string ‘auth_client_needs_update_title’ has no default translation.
    [2014-12-05 16:12:51 – Examen2] warning: string ‘auth_client_play_services_err_notification_msg’ has no default translation.
    [2014-12-05 16:12:51 – Examen2] warning: string ‘auth_client_requested_by_msg’ has no default translation.
    [2014-12-05 16:12:51 – Examen2] warning: string ‘auth_client_using_bad_version_title’ has no default translation.
    [2014-12-05 16:12:51 – Examen2] C:UsersPepeBet07workspaceandroid-support-v7-appcompatresvaluesattrs.xml:725: error: Attribute «theme» has already been defined
    [2014-12-05 16:12:51 – Examen2]

  15. El problema también se puede deber a que se haya cambiado el proyecto de directorio y los path que apuntaban a librerías .jar (como gcm.jar…) y que estuvieran en la carpeta libs del proyecto, ahora (con el cambio de directorio) no las encuentre… En concreto en el archivo .classpath en el elemento classpathentry el atributo path habría que poner la nueva ruta (o con botón derecho en el proyecto->propiedades->Java Build Path y eliminar las referencias antiguas y add external jar y volver a referenciar las librerías.

  16. Me paso algo parecido, pero con la particularidad de que si borro alguna linea y la vuelvo a poner y guardo se va el error, o se borro algún espacio en blanco y guardo se va y me deja ejecutar la aplicación! Luego por lo genera vuelve a aparecer el error!
    El problema es que desde que apareció, yo le realizo una modificación a mi aplicación la guardo y cuando ejecuto dicha aplicación no se guardan los cambios, las aplicación corre bien pero como si no hubiera cambiado nada, ya se el nombre de un botón o una imagen lo que sea, inclusive si borro la imagen de la carpeta drawable sigue apareciendo en la aplicación! Me tiene preocupado ya que no puedo solucionar este inconveniente y necesito terminar mi aplicación lo antes posible ya que es para una materia en la facultad!
    Desde ya gracias!

  17. Yo tengo un problema, ya tengo instalado el eclipse y el sdk y al crear un avd en el target solo me aparece de opcion la api 20, pero ocupo la 17 y no se como cambiarlo, alguien sabe como puedo corregir eso? gracias

  18. Buen día lo que sucede es que al crear así sea un proyecto ejemplo en eclipse juno en andoid sea cual sea la versión me marca errores en el string XML de traducción y también me marca errores de repetición de variables ni siquiera abro las carpetas del proyecto ejemplo y ya me sale la x al lado de en proyecto y ma carpeta res values omiti el error configurándolo como advertencia pero aun sale el de variables repetidas

    1. Hola Hugo,
      puede haberse corrompido algún fichero o haberse cambiado alguna configuración. Lo primero que te recomiendo es que cambies de espacio de trabajo (cuando arrancas Eclipse, en el cuadro de selección de espacio de trabajo, elige otra carpeta), para que Eclipse vuelva a crear todas las configuraciones; luego prueba a crear otro proyecto Android. Sino, lo mejor es que reinstales Eclipse, el ADT y el SDK (el SDK no te hace falta reinstalarlo, pero por si acaso).

  19. en eclipse tengo problemas con «R.Layout» me aparece que no se puede resolver o que no es un campo. De antemano Gracias

    1. Hola Adriel,

      a ver si me puedes definir un poco más lo que te pasa y copiar el error exacto. Por adelantado comprueba que el nombre de los ficheros XML sea correcto (solo letras minúsculas y de símbolos solo el guión bajo «_»).

  20. Hola, me he buscado en todo el foro y demas, asi como he andado en varios sites de internet buscando una solucion probable a este problema…..
    La idea es simple, queria hacer una calculadora como mi primer programa…asi que nececitaba 2 cuadros donde poner datos….
    Se que estan en Text Fields —- Plain Text…
    el problema es que cuando lo arrastro aparece lo siguiente:

    Exception raised during rendering: java.lang.System.arraycopy([CI[CII)V
    Exception details are logged in Window > Show View > Error Log

    Y francamente no se como arreglarlo….
    intente buscar el Error Log pero no aparece.
    uso Eclipse Juno y la verdad no se como arreglar ese problema.
    Pudieras ilustrarme por favor?
    Saludos y gracias

    1. Hola Erick,

      el problema que comentas es un bug de renderizado de la nueva versión de Android 4.4W o Android L (o Api 20); entre otros bugs he detectado que los Shape Drawable tampoco se dibuja correctamente.

      Por ello no recomiendo utilizar el editor de diseños gráficos (el editor de Layouts donde arrastras y sueltas los elementos que componen la vista) en esa versión; lo que hay que hacer es bajarla a la Api 19. Para ello ve arriba a la derecha donde aparece el icono con el robot de Android y un número 20 al lado, lo seleccionas y eliges «API 19: Android 4.4.2». Que no te preocupe cambiar en esta opción la versión de Android, ya que solo afecta a como lo ve el desarrollador el editor gráfico de Layouts; luego en el emulador o en el dispositivo se verá según la versión de Android donde se esté ejecutando la app.

      Y para abrir el logcat lo explicamos aquí: http://jarroba.com/preparar-las-herramientas-necesarias-para-programar-en-android/

  21. NECESITO URGENTE AYUDA
    a cualquiera que pueda ayudarme me pasa lo siguiente,mi eclipse en el momento de darle click en clean me borra la carpeta R.. no me reconoce nada de lo que creo,. cualquier ayuda muchas gracias

    1. Buenas Steven,
      lo más probable es que sea algún recurso nuevo que hayas introducido en alguna carpeta de «res». Posiblemente alguna imagen en la carpeta «drawable» o algún diseño en «layout», que no cumpla el nombre de los archivos para los recursos de estas carpetas. Las condiciones son que los nombres de los recursos tienen que estar siempre en minúscula, solo letras, sin espacio, y de símbolos el único permitido es el guión bajo «_», salvo la extensión (png, xml, …) que llevará punto «.» para separarse del nombre (ejemplo de nombre permitido en un recurso: «mi_imagen.png»; ejemplo de nombre no permitido en un recurso: «Mi.imagen.png»). Todos los demás símbolos están prohibidos, dará error y provocará que R.java no se regenere hasta que no se solvente este problema.

  22. por favor que solucion para esto:
    FATAL EXCEPTION: main
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.cesar25narva.visorimagenes/com.cesar25narva.visorimagenes.Visor}: java.lang.NullPointerException
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
    GRACIAS.

    1. Buenas César,

      por el error sólo te puedo decir que no consigue arrancar la Activity porque le llega un null, pero puede ser por muchos motivos, necesitaría el código de la Activity en cuestión y de quien la abre. De cualquier, manera los errores más comunes a esto suelen responder a alguna de estas preguntas:
      ¿Existe realmente la Activity?
      ¿La clase que queremos abrir como Activity hereda de Activity?
      ¿Está declarada en el AndroidManifest.xml la Activity de manera correcta?
      ¿Las Views a la que se llaman dentro de Activity las puede encontrar la Activity? Es decir, están bien puesto el Layout en el setContentView() y las views están bien buscadas con los findViewById() y estas existen en el diseño asociado

    1. Buenas Paco,

      puedes probar a eliminar la carpeta «crunch» y hacer un «clean» del proyecto, ya que la carpeta «bin» contiene los binarios que se volverán a generar automáticamente. Por si acaso, haz una copia de seguridad del proyecto antes.

  23. tengo un problema con el eclipse, al momento de abrirlo me marca este error:
    «Could not find folder ‘tools’ inside SDK ‘C:adt-bundle-windows-x86-20131030sdktools’.»
    he borrado el archivo muchas veces y lo he vuelta a descargar y me marca el mismo error.
    por favor me dan un ayuda acerca de este problema

  24. Cuando arrastro un texto o un objeto al teléfono de graphical layout me genera un erro del cual se refiere a este…..An internal error has occurred.
    After scene creation, #init() must be called
    pero voy a activity_main.xml y el error marca como alerta no error me colo encima y dice lo siguiente [118N] Hardcoded string
    «botón», should use @string resource
    Te agradezco la ayuda de antemano gracias.

    1. Buenas Joeljamett,

      el error que comentas es un bug del API 19 (es decir, de Android 4.4 Kitkat) que se da en algunas ocasiones al redenrizar las previsualizaciones, sobre todo cuando hay múltiples. Confirma que tengas actualizado el ADT y el SDK a las ultimas versiones. Puedes probar en el editor de Layout a cambiar al versión de renderizado a una inferior (el botón donde se ve un muñeco de Android), a cerrar previsualizaciones (el botón donde se ve un móvil negro). Si aún así sigue fallando descarga el último SDK de Android, desinstala el anterior y pon el nuevo, con esto seguro se corrige 🙂

      Sobre las alertas amarillas de String en los layout XML no te preocupes, son solo alertas. Indican que el texto lo has puesto a pelo y no en el fichero string.xml, mira más en: http://developer.android.com/guide/topics/resources/string-resource.html

  25. a mi no me funciono ninguno pero encontre otra solucion
    en win 8 entras en C:Users(username).android-sdks

    se ejecuta un exe q se llama SDK Manager y ahi aparecera todo lo q tngas instalado y no instalado de android, lo q ya tengas instalado dira install, ya solamnete das en ok y autoomaticamnete se seleccionara lo q no tengas istalado y listo eso es todo.

    volvi a cargar el eclipse y me marco error todavia pero ahora lo q hice fue importar la R (de androi , y q tambien me aparecia la R del paquete) y me marco error despues de lo q staba de la R ahora elimine el import de la R y dejo de apare error en la R.
    y asi solucione el problema q tenia q no reconocia la R pero cuando le daba corregir automaticamnete y me importava una libreira R me marcaba error todo lo q staba despues de esta.

  26. no me funciono ninguna de esas opciones pero aqui dejo la que reparo mi problema

    cerrar eclipse

    en win7 C:Users(username).android

    borrar la carpeta .android y luego abrir eclipse y ya.

    todo corre bien.

    1. Me alegro que hayas encontrado una manera de resolver el problema y gracias por proponer la solución que te ayudó al resto de la comunidad.

      Este problema es uno de los que provocan mayores quebraderos de cabeza a los desarrolladores Android. No es fácil plantear una única solución, pues puede provenir por diferentes motivos.

      Desde Jarroba estudiaremos la causa con más profundidad para plantear un estudio completo que sea fácil y rápido de realizar.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies

ACEPTAR
Aviso de cookies