2012-05-28 9 views
6

A tiene un proyecto de Android llamado TestAndroid. Puedo ejecutarlo sin problemas en mi dispositivo Android. Sin embargo, quiero poder usar el código de otro proyecto. Así que voy a mi ruta de compilación y agrego el proyecto Prueba. Test es un proyecto estándar de Java que utiliza java6. El proyecto de prueba tiene una prueba de clase, que es solo una clase vacía.Proyecto Android no puede hacer referencia a otro proyecto en eclipse

Aquí es donde entra en problemas, cuando creo una instancia de Prueba en TestAndroid obtengo un error de tiempo de ejecución. Aquí está el error que obtengo de Logcat.

05-27 21:47:49.976: E/dalvikvm(27493): Could not find class 'com.tests.eclipseisbroken.Test', referenced from method com.tests.eclipseisbroken.TestAndrodiActivity.onCreate 
05-27 21:47:49.986: W/dalvikvm(27493): VFY: unable to resolve new-instance 11 (Lcom/tests/eclipseisbroken/Test;) in Lcom/tests/eclipseisbroken/TestAndrodiActivity; 
05-27 21:47:49.986: D/dalvikvm(27493): VFY: replacing opcode 0x22 at 0x0008 
05-27 21:47:49.986: D/dalvikvm(27493): VFY: dead code 0x000a-000d in Lcom/tests/eclipseisbroken/TestAndrodiActivity;.onCreate (Landroid/os/Bundle;)V 
05-27 21:47:50.026: D/AndroidRuntime(27493): Shutting down VM 
05-27 21:47:50.046: W/dalvikvm(27493): threadid=1: thread exiting with uncaught exception (group=0x40028a00) 
05-27 21:47:50.056: E/AndroidRuntime(27493): FATAL EXCEPTION: main 
05-27 21:47:50.056: E/AndroidRuntime(27493): java.lang.NoClassDefFoundError: com.tests.eclipseisbroken.Test 
05-27 21:47:50.056: E/AndroidRuntime(27493): at com.tests.eclipseisbroken.TestAndrodiActivity.onCreate(TestAndrodiActivity.java:16) 
05-27 21:47:50.056: E/AndroidRuntime(27493): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1065) 
05-27 21:47:50.056: E/AndroidRuntime(27493): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2745) 
05-27 21:47:50.056: E/AndroidRuntime(27493): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2797) 
05-27 21:47:50.056: E/AndroidRuntime(27493): at android.app.ActivityThread.access$2300(ActivityThread.java:135) 
05-27 21:47:50.056: E/AndroidRuntime(27493): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2132) 
05-27 21:47:50.056: E/AndroidRuntime(27493): at android.os.Handler.dispatchMessage(Handler.java:99) 
05-27 21:47:50.056: E/AndroidRuntime(27493): at android.os.Looper.loop(Looper.java:143) 
05-27 21:47:50.056: E/AndroidRuntime(27493): at android.app.ActivityThread.main(ActivityThread.java:4914) 
05-27 21:47:50.056: E/AndroidRuntime(27493): at java.lang.reflect.Method.invokeNative(Native Method) 
05-27 21:47:50.056: E/AndroidRuntime(27493): at java.lang.reflect.Method.invoke(Method.java:521) 
05-27 21:47:50.056: E/AndroidRuntime(27493): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858) 
05-27 21:47:50.056: E/AndroidRuntime(27493): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
05-27 21:47:50.056: E/AndroidRuntime(27493): at dalvik.system.NativeStart.main(Native Method) 

Creo que debe haber algo mal con mi eclipse de instalar, porque tenía un proyecto eran que tenía que hacer referencia a otro proyecto y funcionó. Prefiero arreglarlo ahora que reinstalé por completo el eclipse y todos mis complementos. Si alguien sabe qué está mal y podría ayudarme, lo agradecería mucho. ¡¡Gracias!!

+0

Consulte este documento - http://developer.android.com/guide/developing/projects/projects-eclipse.html – adatapost

+0

@AVD I No estoy tratando de hacer referencia a otro proyecto de Android, sino a un proyecto Java estándar. – Stratus

+0

posible duplicado de [proyecto Android que hace referencia al proyecto "normal" de Java en eclipse desde la actualización de las herramientas sdk 17] (http://stackoverflow.com/questions/9889572/android-project-referencing-normal-java-project-in-eclipse- since-sdk-tools-upd) –

Respuesta

9

supongamos que utiliza último SDK & ADT versión de Android, y que desea añadir un proyecto Java estándar B como una dependencia en el proyecto androide Un:

  1. Agregar el proyecto B para proyectar trayectoria de la estructura de una : Properties -> Java Build Path -> Projects -> Add ...
  2. el proyecto B Tick en la lista de acumulación ruta de exportación del proyecto a: Properties -> Java Build Path -> Order and Export

Ahora debería poder utilizar la clase de la biblioteca java estándar en su proyecto Android y compilar/ejecutar/depurarlo en Eclipse.

Espero que esto ayude.

ACTUALIZACIÓN: Las operaciones anteriores sólo tiene que añadir una línea en .classpath

<classpathentry combineaccessrules="false" exported="true" kind="src" path="/projB"/> 
+0

Me olvidé de marcar el cuadro de un proyecto. Gracias. – Stratus

+0

¿Qué sucede si realizo estas etapas pero recibo el mismo error? –

+0

Nunca entendí para qué era la casilla de verificación 'exportar', pero alguien en el terreno del eclipse era premonitorio y sabía que lo necesitaríamos para aplicaciones de Android. :-) Muchas gracias, estaba golpeando mi cabeza contra este por un tiempo. – stu

Cuestiones relacionadas