有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在安卓应用程序项目的adt 20中添加外部jar

07-06 10:32:07.244: E/dalvikvm(319): Could not find class 'org.AstroVed.Panchanga.Moment', referenced from method com.astroved.horawatch.HoraWatchActivity.onCreate
07-06 10:32:07.244: W/dalvikvm(319): VFY: unable to resolve new-instance 186 (Lorg/AstroVed/Panchanga/Moment;) in Lcom/astroved/horawatch/HoraWatchActivity;
07-06 10:32:07.254: D/dalvikvm(319): VFY: replacing opcode 0x22 at 0x000f
07-06 10:32:07.254: D/dalvikvm(319): VFY: dead code 0x0011-00f6 in Lcom/astroved/horawatch/HoraWatchActivity;.onCreate (L安卓/os/Bundle;)V
07-06 10:32:08.224: D/dalvikvm(319): GC_CONCURRENT freed 692K, 49% free 3439K/6727K, external 2022K/2137K, paused 4ms+4ms
07-06 10:32:08.953: D/AndroidRuntime(319): Shutting down VM
07-06 10:32:08.953: W/dalvikvm(319): threadid=1: thread exiting with uncaught exception (group=0x40015560)
07-06 10:32:08.963: E/AndroidRuntime(319): FATAL EXCEPTION: main
07-06 10:32:08.963: E/AndroidRuntime(319): java.lang.NoClassDefFoundError: org.AstroVed.Panchanga.Moment
07-06 10:32:08.963: E/AndroidRuntime(319):  at com.astroved.horawatch.HoraWatchActivity.onCreate(HoraWatchActivity.java:71)
07-06 10:32:08.963: E/AndroidRuntime(319):  at 安卓.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
07-06 10:32:08.963: E/AndroidRuntime(319):  at 安卓.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
07-06 10:32:08.963: E/AndroidRuntime(319):  at 安卓.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
07-06 10:32:08.963: E/AndroidRuntime(319):  at 安卓.app.ActivityThread.access$1500(ActivityThread.java:117)
07-06 10:32:08.963: E/AndroidRuntime(319):  at 安卓.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
07-06 10:32:08.963: E/AndroidRuntime(319):  at 安卓.os.Handler.dispatchMessage(Handler.java:99)
07-06 10:32:08.963: E/AndroidRuntime(319):  at 安卓.os.Looper.loop(Looper.java:123)
07-06 10:32:08.963: E/AndroidRuntime(319):  at 安卓.app.ActivityThread.main(ActivityThread.java:3683)
07-06 10:32:08.963: E/AndroidRuntime(319):  at java.lang.reflect.Method.invokeNative(Native Method)
07-06 10:32:08.963: E/AndroidRuntime(319):  at java.lang.reflect.Method.invoke(Method.java:507)
07-06 10:32:08.963: E/AndroidRuntime(319):  at com.安卓.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
07-06 10:32:08.963: E/AndroidRuntime(319):  at com.安卓.internal.os.ZygoteInit.main(ZygoteInit.java:597)
07-06 10:32:08.963: E/AndroidRuntime(319):  at dalvik.system.NativeStart.main(Native Method)

这是我在adt 20中的应用程序中遇到的错误。。。。。如果我使用的是外部jar


共 (3) 个答案

  1. # 1 楼答案

    请记住,始终将所有外部JAR放在应用程序中libs。创建libs文件夹,其中AndroidManifest。xml存在。然后在eclipse中刷新您的项目。 然后按以下步骤操作:

    1. 在Eclipse中右键单击您的项目
    2. 点击属性
    3. 在属性窗口中,单击JavaBuildPath
    4. “选择库”选项卡
    5. 单击AddJARs按钮&;从项目的库中添加外部JAR
  2. # 2 楼答案

    只有几个原因会导致此错误:

    1. 这个阶级实际上并不存在。如果您使用的是来自官方示例的代码,并且得到了这些代码,请确保您拥有库的最新版本
    2. 您尚未将jar添加到构建路径中。要解决这个问题,右键单击Eclipse中的jar,然后执行构建路径► 添加到构建路径
    3. 您的jar不在/libs文件夹中。当您将jar添加到构建路径中,但较新版本的ADT需要它位于/libs中时,就会发生这种情况。将它放在那里并重新添加到构建路径
    4. 您的JAR文件必须与Android构建兼容(不支持实际的Java 7编译类!)
  3. # 3 楼答案

    this thread。他们似乎在描述一个与你非常相似的问题。可能您的清单中缺少对您尝试启动的活动的某些权限