Cuando el fichero .classpath se corrompe…

Eclipse AndroidProblema.

Intentando seguir el desarrollo de el juego del Ahorcado, me ha salido el siguiente error (ojo, es bastante largo):

[2011-01-17 12:00:59 – Ahorcado] ‘default’ is not a best match for any device/locale combination.
[2011-01-17 12:00:59 – Ahorcado] Displaying it with ‘Locale Language ___Region __, Normal Screen, Short screen aspect ratio, Landscape Orientation, No Dock, Day time, Medium Density, Finger-based touchscreen, Soft keyboard, Qwerty keybard, Trackball navigation, Screen resolution 480×320′
[2011-01-17 12:01:26 – Ahorcado]

trouble processing “java/nio/CharBuffer.class”:
[2011-01-17 12:01:26 – Ahorcado]
Attempt to include a core class (java.* or javax.*) in something other
than a core library. It is likely that you have attempted to include
in an application the core library (or a part thereof) from a desktop
virtual machine. This will most assuredly not work. At a minimum, it
jeopardizes the compatibility of your app with future versions of the
platform. It is also often of questionable legality.

If you really intend to build a core library — which is only
appropriate as part of creating a full virtual machine distribution,
as opposed to compiling an application — then use the
“–core-library” option to suppress this error message.

If you go ahead and use “–core-library” but are in fact building an
application, then be forewarned that your application will still fail
to build or run, at some point. Please be prepared for angry customers
who find, for example, that your application ceases to function once
they upgrade their operating system. You will be to blame for this
problem.

If you are legitimately using some code that happens to be in a core
package, then the easiest safe alternative you have is to repackage
that code. That is, move the classes in question into your own package
namespace. This means that they will never be in conflict with core
system classes. If you find that you cannot do this, then that is an
indication that the path you are on will ultimately lead to pain,
suffering, grief, and lamentation.

[2011-01-17 12:01:26 – Ahorcado] 1 error; aborting
[2011-01-17 12:01:26 – Ahorcado] Conversion to Dalvik format failed with error 1
[2011-01-17 12:02:54 – SDK Manager] Created AVD ‘ahorcado’ based on Google APIs (Google Inc.),
[2011-01-17 12:02:54 – SDK Manager] with the following hardware config:
[2011-01-17 12:02:54 – SDK Manager] hw.lcd.density=160
[2011-01-17 12:06:24 – Ahorcado]
trouble processing “java/nio/CharBuffer.class”:
[2011-01-17 12:06:24 – Ahorcado]
Attempt to include a core class (java.* or javax.*) in something other
than a core library. It is likely that you have attempted to include
in an application the core library (or a part thereof) from a desktop
virtual machine. This will most assuredly not work. At a minimum, it
jeopardizes the compatibility of your app with future versions of the
platform. It is also often of questionable legality.

If you really intend to build a core library — which is only
appropriate as part of creating a full virtual machine distribution,
as opposed to compiling an application — then use the
“–core-library” option to suppress this error message.

If you go ahead and use “–core-library” but are in fact building an
application, then be forewarned that your application will still fail
to build or run, at some point. Please be prepared for angry customers
who find, for example, that your application ceases to function once
they upgrade their operating system. You will be to blame for this
problem.

If you are legitimately using some code that happens to be in a core
package, then the easiest safe alternative you have is to repackage
that code. That is, move the classes in question into your own package
namespace. This means that they will never be in conflict with core
system classes. If you find that you cannot do this, then that is an
indication that the path you are on will ultimately lead to pain,
suffering, grief, and lamentation.

[2011-01-17 12:06:24 – Ahorcado] 1 error; aborting
[2011-01-17 12:06:24 – Ahorcado] Conversion to Dalvik format failed with error 1
[2011-01-17 12:11:41 – Ahorcado]
trouble processing “java/nio/CharBuffer.class”:
[2011-01-17 12:11:41 – Ahorcado]
Attempt to include a core class (java.* or javax.*) in something other
than a core library. It is likely that you have attempted to include
in an application the core library (or a part thereof) from a desktop
virtual machine. This will most assuredly not work. At a minimum, it
jeopardizes the compatibility of your app with future versions of the
platform. It is also often of questionable legality.

If you really intend to build a core library — which is only
appropriate as part of creating a full virtual machine distribution,
as opposed to compiling an application — then use the
“–core-library” option to suppress this error message.

If you go ahead and use “–core-library” but are in fact building an
application, then be forewarned that your application will still fail
to build or run, at some point. Please be prepared for angry customers
who find, for example, that your application ceases to function once
they upgrade their operating system. You will be to blame for this
problem.

If you are legitimately using some code that happens to be in a core
package, then the easiest safe alternative you have is to repackage
that code. That is, move the classes in question into your own package
namespace. This means that they will never be in conflict with core
system classes. If you find that you cannot do this, then that is an
indication that the path you are on will ultimately lead to pain,
suffering, grief, and lamentation.

[2011-01-17 12:11:41 – Ahorcado] 1 error; aborting
[2011-01-17 12:11:41 – Ahorcado] Conversion to Dalvik format failed with error 1

Después de investigar por la red, he encontrado que al parecer es que el fichero .classpath que está en el directorio raíz del proyecto, dentro del workspace.

Solución.

Dentro de Eclipse, hacemos click con el botón derecho sobre el proyecto y seleccionamos Properties. Nos aparecerá el diálogo de las propiedades del proyecto. Seleccionamos allí la pestaña de Libraries y eliminamos (con Remove) todas las librerías de Android que veamos.

Por supuesto, esto generará múltiples errores en el programa. Para ello, volvemos a hacer click con el botón derecho del ratón sobre el proyecto y seleccionamos Android tools -> fix project properties. Esto volverá a crear la relación con la librería.

Aún así, puede aparecer el proyecto con error. Lo que hacemos ahora es seleccionarlo (esta vez con el botón izquierdo del ratón) y utilizar la opción Clean del menú Project de Eclipse.

Con estos pasos, he conseguido eliminar el problema.

¡Hasta el próximo post!.

About these ads

Acerca de Isildur Fuentes

Apasionado de las buenas historias y aikidoka de la tierra.

Publicado el enero 17, 2011 en Programación y etiquetado en , , , , , , . Guarda el enlace permanente. 14 comentarios.

  1. chema jimenez

    GRACIAS MIL!!!! ERES UN FENOMENO!!!

    • Isidro Fuentes Hermoso

      ¡Muchas gracias a ti por tu comentario!

    • alguien me puede pasar el codigo del juego del ahorcado para processing gracias

      • Isidro Fuentes Hermoso

        Hola Oscar.

        Gracias por el interés por los artículos de Android.
        Si vas a alguno de los últimos posts del desarrollo del juego, encontrarás un link donde bajarte el código fuente, aunque te recomiendo que sigas los post por orden, ya que cada post supone que has pasado por los anteriores.

        Un saludo.

  2. Hey muchas gracias, esto me sirvió.. ya quedó todo OK

  3. Hola,estoy desarrollando una aplicacion en eclipse para android y tengo ese mismo error cuando añado la libreria jaxrpc.jar .Concretamente me aparece :
    trouble processing “javax/xml/messaging/Endpoint.class”
    ……
    Conversion to Dalvik format failed with error 1

    He probado lo que comentas pero nada…soy nuevo en esto y la verdad es que estoy ya un poco desesperado con el asunto porque me hace falta esa librería(con otras que añado no tengo ese problema),si tuvieses alguna idea de como solucionarlo o por donde van los tiros te lo agradeceré eternamente y gracias por tus tutoriales y consejos,ques están muy bien.Un saludo!

    • Isidro Fuentes Hermoso

      Hola Iván.

      Lo primero agradecerte el comentario y tu interés por este site.
      Respecto a la librería que comentas, no la he utilizado todavía, pero hay un dato que quizá pueda ser de ayuda. Te paso un link en donde puedes verlo (en inglés). No parece que sea el mismo problema que explica este post. Parece ser que no basta con un simple import para poder utilizarla, ya que tiene una serie de dependencias respecto a la plataforma. En el texto del link que te paso verás que te remiten a una página oficial de Oracle en donde se especifican las dependencias. Además comentan lo mismo que tú, en el sentido que las otras librerías no te dan ese problema porque ésas no tienen dichas dependencias.

      Espero que puedas “tirar del hilo” por esta vía. Te dejo el link. Un saludo.

      http://www.mail-archive.com/android-developers@googlegroups.com/msg184272.html

  4. Gracias me sirvió mucho esta solución

  5. Excelente¡¡¡¡ me traian como loco los errores, sobre todo la conversion Dalvic… me resolviste hasta los errores que no debias… jejeje… gracias amigo tu aporte es GRANDIOSO…

  6. Muy bueno me ha servido de gran ayuda se soluciono al momento.

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 184 seguidores

A %d blogueros les gusta esto: