NoClassDefFoundError al ejecutar Test de instrumentación con ant
(Este es un problema de Android SDK herramientas v17. Esperar una corrección en v18)
Tengo un proyecto objetivo de prueba A, y un proyecto probador B.
El proyecto A tiene FlurryAgent.jar en su carpeta libs.
- Android construido desde la línea de comandos en Windows
- Ant Build Android Project con dependencias
- Android form build.xml con proguard no se construye en la versión
- Android ejecutando script de hormigas en el dispositivo ejecutando casos de prueba y generando un informe de cobertura de código
- ¿Cómo se construye un apk con javafxports android y hormiga?
El proyecto B tiene robotium-solo-3.1.jar en su carpeta libs
Cuando compilar y ejecutarlos,
cd A android update project -p . cd .. cd B android update test-project -p . -m ../A ant all clean debug ant uninstall ant installt ant test
Prueba de hormiga no ejecuta pruebas:
test: [echo] Running tests ... [exec] [exec] com.example.r17.test.TestOne: [exec] INSTRUMENTATION_RESULT: shortMsg=java.lang.NoClassDefFoundError [exec] INSTRUMENTATION_RESULT: longMsg=java.lang.NoClassDefFoundError: com.flurry.android.FlurryAgent [exec] INSTRUMENTATION_CODE: 0
He leído algunos mensajes / preguntas que solucionan este problema en Eclipse. Pero no creo que pueda ejecutar Eclipse en el esclavo sin cabeza de Jenkins.
- Cordova Instalar Android target 19
- De repente, la hormiga / carpeta no aparece en el SDK de Android. Google lo eliminó?
- ¿Cómo puedo decir a proguard para asumir un paquete no se utiliza?
- Android Ant se basa en un proyecto con dos carpetas de origen
- Creación de un proyecto de Android con Ant / Ivy
- Creación de un proyecto de Android con Ant - no se puede encontrar el símbolo
- Proyecto Android roto en Eclipse después de la construcción de hormigas
- Cambiar el nombre de paquetes con plugin de maven de Android
Dado que este post fue el primero en los resultados de los motores de búsqueda cuando entré "java.lang.NoClassDefFoundError: com.flurry.android.FlurryAgent" y mi problema no estaba relacionado con la hormiga en absoluto, pensé en añadir alguna información para las personas que Podría estar rascando la cabeza después de volver a instalar el ADT.
Básicamente, en Eclipse cuando se agrega una biblioteca externa en el cuadro de diálogo Java Build Path, no olvide también cambiar a la ficha Order and Export y marcar el nombre de esa biblioteca en la lista. Esto es necesario para que la biblioteca se encuentra en tiempo de ejecución, no sólo en tiempo de compilación 🙂
http://code.google.com/p/android/issues/detail?id=27608
Presenté el problema a Google y subieron una corrección temporal. La corrección también se incluirá en la versión v18.
"Miembro del proyecto x … @ android.com, Hoy (hace 1 hora) consiga el anttasks.jar del fondo de http://tools.android.com/download para substituir el en su sdk."
El archivo a reemplazar está en \ Android \ android-sdk \ tools \ lib \
Me tomó un tiempo muy largo para calcular este mismo problema al usar android-junit-report, pero con la ayuda de "adb logcat" descubrí que realmente no faltaba la clase de instrumentación que incluía, pero faltaba Su superclase heredada. Así que necesitaba poner esto de nuevo en AndroidManifest.xml:
<application> <uses-library android:name="android.test.runner" /> </application>
No tengo el representante para comentar Qi, pero creo que esto puede estar relacionado con mi pregunta aquí:
VerifyError en las herramientas de compilación del proyecto de prueba android v17
Xav ha sido instrumental en conseguir esto de nuevo en marcha y parece que hes tiene una solución
Tengo el mismo caso y no funciona incluso si he seguido el post de Levon. Entonces me di cuenta que tengo que copiar el FlurryAnalytics.jar en la carpeta libs en mi espacio de trabajo para que funcione. Espero que esto ayude.
Sólo tengo que solucionar este problema "08-14 08: 33: 43.398: E / AndroidRuntime (6748): java.lang.NoClassDefFoundError: com.flurry.android.FlurryAgent "
Flujo la web oficial cuando quiero añadir la ráfaga a mi aplicación Android, me dicen añadir una biblioteca externa en el cuadro de diálogo Java Build Path, Y luego no me olvido de cambiar también a la pestaña de orden y exportación y marque que Nombre de la biblioteca en la lista. Esto es necesario para que la biblioteca se encuentre en tiempo de ejecución, no sólo en tiempo de compilación, pero sin embargo no funciona hasta que simplemente quite el tarro de la ruta de construcción y, a continuación, copiarlo en la lib. ¡¡¡Hecho!!!