添加乔达时间


问题内容

我正在构建一个使用时间的应用程序。我决定用乔达时间。我正在尝试将joda时间添加到我的应用中。我没有将.jar文件添加到库的经验。我遵循了这些步骤(请参阅底部),所以我想。我的项目没有显示任何错误,但是当我运行一个简单的测试时:DateTime test = new DateTime();我被强制关闭,并出现以下错误:

 Could not find class 'org.joda.time.DateTime', referenced from method xxxx
 java.lang.NoClassDefFoundError: org.joda.time.DateTime

这些是我遵循的步骤:

  1. 在eclipse中创建您的android项目。
  2. 下载Joda时间
  3. 在Eclipse中,在Package Explorer中找到您的项目,然后右键单击它,然后调用它New -> Folder -> libs注意:我没有这样做,因为我已经有一个名为libs
  4. 复制(或)并将其拖放joda-time-2.1.jar到新创建的libs文件夹中。
  5. 再次右键单击您的项目(在资源管理器中),然后单击Properties -> Java Build Path -> Libraries -> Add Jars -> joda-time-2.1.jar

现在您可以使用以下代码进行测试:

DateTime test = new DateTime();

导入后:

import org.joda.time.DateTime;

问题答案:

由于这是一个Android项目,因此仅引用Joda jar文件将不会执行。您需要将该jar文件与apk捆绑在一起,方法如下:-

  1. 属性-> Java构建路径->订单和导出

  2. 选中,joda-time-*-*.jar然后单击 确定 。你完成了。


说明: 仅引用jar只能解决Eclipse(或任何其他IDE)中的编译问题,但是创建 apk 时,“ joda-time” jar文件将不会与“
apk”一起导出/捆绑。这就是为什么它引发 NoClassDefFoundError 的原因。

但是,当您在 Order&Export中 检查joda-time jar时,将确保该jar在创建时也与您的“ apk”一起捆绑在其中。