繁体   English   中英

Android项目无法在Eclipse中引用其他项目

[英]Android project unable to reference other project in eclipse

有一个名为TestAndroid的android项目。 我可以在我的android设备上运行它。 但是我希望能够使用另一个项目中的代码。 因此,我转到构建路径并添加项目Test。 Test是使用java6的标准Java项目。 Test项目有一个Test类,它只是一个空类。

但是,当我在TestAndroid中创建Test实例时,却遇到了麻烦,这是运行时错误。 这是我从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)

我认为eclipse安装肯定有问题,因为我有一个项目,因此我不得不引用另一个项目并且它起作用了。 现在,我宁愿修复它,完全重新安装eclipse和我的所有插件。 如果有人知道怎么了并可以帮助我,我将不胜感激。 谢谢!!

假设您使用最新的Android SDK和ADT版本,并且想要添加一个标准Java项目B作为android项目A中的依赖项:

  1. 将项目B添加到项目A的构建路径: Properties -> Java Build Path -> Projects -> Add ...
  2. 在项目A的构建路径导出列表中打勾项目B: Properties -> Java Build Path -> Order and Export

现在,您应该可以在Android项目中使用标准Java库中的类,并在Eclipse中对其进行构建/运行/调试。

希望这可以帮助。

更新:上面的操作仅将一行添加到.classpath

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM