¿Enfoque para la fijación de NoClassDefFoundError?

Posible duplicado:
NoClassDefFoundError – Eclipse y Android

Estoy viendo que esta pregunta se está haciendo mucho en muchos contextos diferentes. Tal vez podamos establecer algunas estrategias para localizar y arreglarlo? Yo soy noobish yo mismo así que todo lo que puedo contribuir son historias de horror y preguntas, lo siento …

Parece que esto se lanza cuando una clase es visible en tiempo de compilación pero no en tiempo de ejecución … ¿cómo puede suceder esto?

En mi caso estoy desarrollando una aplicación que utiliza las API de Google, en Eclipse, para la plataforma Android. He configurado las Propiedades del Proyecto / Java Build Path / Libraries para incluir el gdata .jars y todo está bien. Cuando ejecuto en el emulador consigo una fuerza cerca y el logcat muestra un NoClassDefFoundError en un nuevo y simple ContactsService ("myApp"); También he probado un nuevo CalendarService ("myApp") con los mismos resultados.

¿Es posible o deseable enlazar estáticamente en tiempo de compilación para evitar el problema?

¿Cómo podría el enlace dinámico de una biblioteca complementaria funcionar en el entorno móvil de todos modos? ¿O tiene que ser atado en mi .apk o bien necesito "instalarlo" él? Hmmm

Consejo muy apreciado.

4 Solutions collect form web for “¿Enfoque para la fijación de NoClassDefFoundError?”

Parece que esto se lanza cuando una clase es visible en tiempo de compilación pero no en tiempo de ejecución … ¿cómo puede suceder esto?

El classpath de compilación puede incluir JARs que no se están empaquetando en el APK.

¿Es posible o deseable enlazar estáticamente en tiempo de compilación para evitar el problema?

Es posible, deseable y necesario.

Fuera de Eclipse, acaba de poner los JAR que necesita en libs/ en su proyecto, compilar con Ant, y ya está.

Dentro de Eclipse, un patrón que he tenido a los estudiantes usar con éxito es poner los JARs que necesitas en libs/ en tu proyecto, agregarlos como JARs a la ruta de construcción (nota: no JARs externos), y se empaquetan como parte de El APK. Tenga en cuenta, sin embargo, que no uso personalmente Eclipse, y por lo tanto mi experiencia con él es limitada.

Para los que tienen problema estaba teniendo el mismo error con mi aplicación. Lo que hice para resolver que fue crear un nuevo proyecto y copiar mi recurso y las carpetas de origen junto con mi archivo de manifiesto en el nuevo proyecto (he eliminado por adelantado los dentro del nuevo proyecto creado) y voila.

Cuando conseguí esto, el problema era realmente más profundo en la cola; El convertidor de Dalvik no había podido convertir algunas de las bibliotecas referenciadas y todavía Eclipse me permitió lanzar el proyecto.

Compruebe la consola SDK de Android para ver si hay algún error informado.

En mi caso, estoy usando mi propia biblioteca (MyLib) compartida entre 2 aplicaciones. La aplicación A se cerró cuando agregué una nueva clase a la biblioteca.

Cuando abrí la aplicación A para trabajar en ella, Eclipse reconoció la nueva clase, y pude hacer referencia a ella. Sin embargo en el funcionamiento conseguí el error.

Resultó que la carpeta de biblioteca importada en la aplicación A (llamada algo como MyLib_src) no reflejaba los cambios realizados en mi proyecto de biblioteca (MyLib).

  • Para solucionar esto, actualizé la aplicación A, los cambios se reflejaron, y Android podría construir mi proyecto correctamente.

No he encontrado ninguna referencia a esta versión del problema, así que pensé que lo añadiría a esta lista.

  • Clases no encontradas
  • NoClassDefFoundError al usar Dagger 2 después de cambiar a Android Studio 2.0
  • Java.lang.NoClassDefFoundError: en dalvik.system.NativeStart.main (Método nativo)
  • Android - Google Maps API v2 - NoClassDefFoundError
  • java.lang.NoClassDefFoundError en Android con GoogleAccountCredential.newChooseAccountIntent ()
  • Obtención de error "java.lang.NoClassDefFoundError: com.android.tools.fd.runtime.AppInfo"
  • Android facebook SDK haciendo error java.lang.NoClassDefFoundError
  • Java.lang.NoClassDefFoundError: android / graphics / drawable / Icono
  • Java.lang.NoClassDefFoundError en versiones anteriores de Android SDK
  • Java.lang.NoClassDefFoundError: android.support.v7.app.AppCompatDelegateImplV14 en Android Studio
  • NoClassDefFoundError para el código en una biblioteca Java en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.