2012-03-26 10 views
12

Yo sólo estaba tratando de utilizar Robotium en una prueba JUnit Android, pero la Prueba siempre falla con un error:Android Robotium NoClassDefFoundError

java.lang.NoClassDefFoundError: com.jayway.android.robotium.solo.Solo

throwing at solo = new Solo (getInstrumentation(), getActivity()); en el método setup():

protected void setUp() throws Exception { 
    super.setUp(); 
    solo = new Solo(getInstrumentation(), getActivity()); 
} 

leí en alguna parte que esto podría estar relacionado con la revisión de Android SDK 17, pero no puedo confirmar esto, como se intentó por primera vez Robotium ya con el SDK 17.

El El jar de Robotium se agrega correctamente a la ruta de compilación del proyecto.

¿Alguien ha encontrado problemas similares?

Saludos K.

Respuesta

30

Yo tenía el mismo problema hoy en día. Lo solucioné importando el jar en el directorio libs del proyecto de prueba y luego añadiéndolo a Build Build Libraries:

TestProject Properties -> Java Build Path -> Libreries -> Add JARs ... -> TestProject/libs /robotium-solo-3.1.jar

+2

el directorio libs hizo el truco, ¡gracias!pero no debería agregarlos a la ruta del buil, porque todo en libs se agrega automáticamente a la ruta de compilación. (http://tools.android.com/recent/dealingwithdependenciesinandroidprojects). – Alf

+0

Hola Kim, no vi ninguna lib para mi proyecto de prueba ... ¿dónde necesito cambiar esto? – ChanGan

25

Deberá exportar el jarro Robotium yendo a Propiedades-> Java Build Path -> Order and Export. Luego revisa el archivo jar de Robotium.

+0

Ese fue mi problema, ¡gracias! – Blaskovicz

+0

¡Esto me ayudó en esta situación! ¡Gracias! – joebalt

3

Tuve el mismo problema en SDK 17. Agregó la jarra de robotium a la lib y la exportación ayudó. También tuve que cambiar la supercomparación en desuso en el constructor de super (String, Class) a super (Class) para que funcione.

+0

También tuve estos tres problemas al intentar probar una aplicación de Jelly Bean. Asegúrate de no utilizar el constructor obsoleto. – zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

2

Lo que hice reparar el fallo fue:

  • eliminar las librerías de la trayectoria de la estructura estándar de Java:
  • Haga clic derecho sobre el nombre del proyecto> Propiedades> Java Build Path> pestaña Bibliotecas> Eliminar todo excepto el "Android XX" (2.3.3 en mi caso) y las "Dependencias de Android"
  • Cambie el nombre de la carpeta de bibliotecas de "lib" a "libs"
  • Al hacerlo, todas las bibliotecas de la carpeta "libs "Se encuentran en el complemento de Android y se agregan a la" Dependencias Android”elemento del proyecto
  • Limpiar el proyecto (no exactamente necesario)

que son buenos para ir!

7

lo hice esta configuración para resolver el problema

enter image description here

Nota: Pongo robotium primera.

2

Si el problema persiste, solo reinicie su eclipse. Estaba teniendo el mismo problema incluso después de importar robotium.jar, pero después de reiniciar eclipse, funcionó bien.

Cuestiones relacionadas