提示:Apache Cordova和Android:无法实例化活动ComponentInfo

cur*_*gie 2 apache android eclipse-adt cordova

这个真让我紧张.经过各种来源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
Run Code Online (Sandbox Code Playgroud)

Sve*_*nov 8

我有与@curlyreggie相同的设置.我通过以下方式实现了它:

右键单击Cordova-2.4.jar - > Configure Build Path,然后在Tab Order and ExportI中确保列表按此顺序排列:

  1. Android(在我的例子中是Android 3.0)
  2. Android依赖项
  3. 科尔多瓦....
  4. ..../SRC
  5. ... /根

  • 不幸的是,不要在项目中使用cordova.jar文件 (2认同)