我正在构建一个使用时间的应用。我决定使用Joda时间。我正在尝试将joda时间添加到我的应用程序中。我没有将.jar
文件添加到库中的经验。我跟着these steps(见下),或者我想。我的项目没有显示错误,但是当我运行一个简单的测试时:DateTime test = new DateTime();
我收到一个强制关闭并出现以下错误:
Could not find class 'org.joda.time.DateTime', referenced from method xxxx
java.lang.NoClassDefFoundError: org.joda.time.DateTime
这些是我遵循的步骤:
New -> Folder -> libs
。 注意:我没有这样做,因为我已经有一个名为libs
的文件夹 joda-time-2.1.jar
放入新创建的libs
文件夹中。Properties -> Java Build Path -> Libraries -> Add Jars -> joda-time-2.1.jar
。 现在您可以使用以下代码进行测试:
DateTime test = new DateTime();
导入后:
import org.joda.time.DateTime;
答案 0 :(得分:19)
由于它是一个Android项目,因此只需引用Joda jar文件就行了。您需要将该jar文件与apk一起捆绑,这可以这样做: -
属性 - > Java构建路径 - >订单&导出
选中joda-time-*-*.jar
,然后点击确定。你已经完成了。
解释:单独引用jar只会解决Eclipse(或任何其他IDE)中的编译问题,但是当 apk 创建时,“joda-time” jar文件不会与您的“apk”一起导出/捆绑。这就是它抛出 NoClassDefFoundError 的原因。
但是当你在 Order&中检查joda-time jar时导出,它会确保jar在创建时也与你的“apk”捆绑在一起。