2

这个真的让我很紧张。在浏览了各种来源 2-3 天后,我找到了解决出现的常见问题的方法。

上下文基于使用 Android http://j.mp/MB1pTM 提供的 PhoneGap 演示。演示本身在使用 PhoneGap API 文档为 Android 4.0.3 进行精确设置时对我来说失败了。我收到以下错误消息:

07-16 23:01:58.485: E/AndroidRuntime(778): FATAL EXCEPTION: main
07-16 23:01:58.485: E/AndroidRuntime(778): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.test.shreyas.main/com.test.shreyas.main.HelloCordovaActivity}: java.lang.ClassNotFoundException: com.test.shreyas.main.HelloCordovaActivity
07-16 23:01:58.485: E/AndroidRuntime(778):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1880)
07-16 23:01:58.485: E/AndroidRuntime(778):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
07-16 23:01:58.485: E/AndroidRuntime(778):  at android.app.ActivityThread.access$600(ActivityThread.java:123)
07-16 23:01:58.485: E/AndroidRuntime(778):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
07-16 23:01:58.485: E/AndroidRuntime(778):  at android.os.Handler.dispatchMessage(Handler.java:99)
07-16 23:01:58.485: E/AndroidRuntime(778):  at android.os.Looper.loop(Looper.java:137)
07-16 23:01:58.485: E/AndroidRuntime(778):  at android.app.ActivityThread.main(ActivityThread.java:4424)
07-16 23:01:58.485: E/AndroidRuntime(778):  at java.lang.reflect.Method.invokeNative(Native Method)
07-16 23:01:58.485: E/AndroidRuntime(778):  at java.lang.reflect.Method.invoke(Method.java:511)
07-16 23:01:58.485: E/AndroidRuntime(778):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
07-16 23:01:58.485: E/AndroidRuntime(778):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
07-16 23:01:58.485: E/AndroidRuntime(778):  at dalvik.system.NativeStart.main(Native Method)
07-16 23:01:58.485: E/AndroidRuntime(778): Caused by: java.lang.ClassNotFoundException: com.test.shreyas.main.HelloCordovaActivity
07-16 23:01:58.485: E/AndroidRuntime(778):  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
07-16 23:01:58.485: E/AndroidRuntime(778):  at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
07-16 23:01:58.485: E/AndroidRuntime(778):  at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
07-16 23:01:58.485: E/AndroidRuntime(778):  at android.app.Instrumentation.newActivity(Instrumentation.java:1023)
07-16 23:01:58.485: E/AndroidRuntime(778):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1871)
07-16 23:01:58.485: E/AndroidRuntime(778):  ... 11 more
4

2 回答 2

8

我的设置与@curlyreggie 相同。我通过执行以下操作使其工作:

右键单击 Cordova-2.4.jar -> 配置Build Path,然后在选项卡Order and Export中确保列表按以下顺序排列:

  1. Android(在我的例子中是 Android 3.0)
  2. 安卓依赖
  3. 科尔多瓦……
  4. ..../src
  5. ..../gen
于 2013-02-22T22:54:20.557 回答
3

要避免的愚蠢错误是不在构建路径中链接外部库。我配置cordova-1.9.0.jar为从存储的位置链接,并且应用程序每次都崩溃。

所以提示是, 始终将引用的库导入到您的 Eclipse 项目的单独文件夹中,例如 /libs,然后将其链接到您的构建路径中,以避免这种混乱和时间浪费。

干杯!

于 2012-07-16T23:45:34.187 回答