achartengine jar文件中的问题

时间:2012-03-27 09:21:52

标签: android achartengine

其实我已经创建了一个应用程序,其中我使用achartengine来构建图形。 它运行正常,但今天我看到了android SDK to r17的更新。

一旦我升级了sdk,我构建的应用程序开始崩溃。在logcat中我显示以下错误报告。为什么会发生这种情况,是因为我使用的jar文件已被弃用。

03-27 14:44:26.320: E/AndroidRuntime(4360): java.lang.NoClassDefFoundError: [Lorg.achartengine.chart.PointStyle;
03-27 14:44:26.320: E/AndroidRuntime(4360):     at   in.com.example.ChartEngineActivity.onCreate(ChartEngineActivity.java:58)
03-27 14:44:26.320: E/AndroidRuntime(4360):     at  android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-27 14:44:26.320: E/AndroidRuntime(4360):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
03-27 14:44:26.320: E/AndroidRuntime(4360):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
03-27 14:44:26.320: E/AndroidRuntime(4360):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
03-27 14:44:26.320: E/AndroidRuntime(4360):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
03-27 14:44:26.320: E/AndroidRuntime(4360):     at android.os.Handler.dispatchMessage(Handler.java:99)
03-27 14:44:26.320: E/AndroidRuntime(4360):     at android.os.Looper.loop(Looper.java:130)
03-27 14:44:26.320: E/AndroidRuntime(4360):     at android.app.ActivityThread.main(ActivityThread.java:3683)
03-27 14:44:26.320: E/AndroidRuntime(4360):     at java.lang.reflect.Method.invokeNative(Native Method)
03-27 14:44:26.320: E/AndroidRuntime(4360):     at java.lang.reflect.Method.invoke(Method.java:507)
03-27 14:44:26.320: E/AndroidRuntime(4360):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-27 14:44:26.320: E/AndroidRuntime(4360):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-27 14:44:26.320: E/AndroidRuntime(4360):     at dalvik.system.NativeStart.main(Native Method)

3 个答案:

答案 0 :(得分:4)

以下是您的解决方案,只需按照How to fix the “NoClassDefFoundError” with ADT 17中的步骤操作,即可使其正常运行。

答案 1 :(得分:2)

我在Eclipse中遇到过与ADT版本20类似的问题。

为什么会出错?

演示项目源和项目旨在与早期版本的ADT插件一起使用。

从ADT 19或20开始,ADT开始自动设置放在libs /文件夹中的所有JAR文件( note libs /,而不是lib / )作为“Android Dependencies” ,而不是“参考库”(右键单击jar文件和“添加到构建路径...”时可以获得。

由于此更改,AChartEngine示例项目中包含的项目文件已过时。

要将示例代码与ADT 20一起使用,请执行以下步骤:

  1. 从AChartEngine网站下载并解压缩achartengine-1.0.0-demo-source.zip。 (这是在遭受灾难性服务器故障后备份的,所以对他们感到荣幸)
  2. 从achartengine-1.0.0-demo
  3. 中删除.project和.classpath
  4. 在Eclipse中,转到文件>新建...>项目...>现有代码中的Android项目
  5. 选择“浏览..”,然后导航到您将演示代码解压缩到的目录。
  6. 选择“将项目复制到工作区”(不是绝对必要,但最简单)
  7. 选择完成。
  8. 现在,插入您的设备,启动您的模拟器,然后运行它!

    此外,如果您选择工具栏上的绿色“运行”按钮,它会抛出类似于“无法找到以前的配置”的错误(类似的情况,虽然措辞更加神秘),

    1. 单击package explorer中的项目
    2. 点击“运行”按钮旁边的黑色向下箭头
    3. 将鼠标移至“运行方式”,然后选择“Android应用”
    4. 享受排行榜!

答案 2 :(得分:0)

在ADT第18版中: - 右键单击​​项目并转到“构建路径” - > “配置构建路径”。 在“订单和导出”选项卡中,只需选择全部,但仅取消选择android.jar。 单击“确定”,您的项目就可以开始了。