添加乔达时间

我正在构建一个使用时间的应用程序。我决定使用Joda时间。我正在尝试将 joda 时间添加到我的应用中。我没有将文件添加到库的经验。我按照这些步骤(见底部)进行操作,或者我是这么想的。我的项目没有显示任何错误,但是当我运行一个简单的测试时:我得到一个强制关闭和以下错误:.jarDateTime 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. 下载乔达时间
  3. 在 Eclipse 中,在包资源管理器中查找您的项目,然后右键单击它,然后调用它。注意:我没有这样做,因为我已经有一个名为libs的文件夹New -> Folder -> libs
  4. 复制(或)拖放到新创建的文件夹中。joda-time-2.1.jarlibs
  5. 再次右键单击您的项目(在包资源管理器中),然后 。Properties -> Java Build Path -> Libraries -> Add Jars -> joda-time-2.1.jar

现在你可以用这个代码测试:

DateTime test = new DateTime();

导入后:

import org.joda.time.DateTime;

答案 1

由于它是一个Android项目,仅引用Joda jar文件是行不通的。您需要将该jar文件与您的apk捆绑在一起,这可以像这样完成:-

  1. 属性 -> Java Build Path -> Order & Export

  2. 选中 并单击 确定。大功告成。joda-time-*-*.jar


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

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


答案 2

推荐