2012-03-25 35 views
2

在将我的SDK工具从修订版本15更新到17之后,我遇到了这种情况,似乎在引导下花费了我很长一段时间的一些变化。想通我分享这个,所以我希望能挽救别人的神经:Android无法解析来自外部罐子的课程

更新我的项目将仍然编译和构建之后,但在运行时抛出的各种错误和异常NoClassDefFoundErrorClassDefNotFoundException或Dalvik虚拟机logcat的抱怨,这是不是能够解决一些类或超类。原来,它无法加载位于外部jar文件(位于类路径中)的类。

解决办法/回答:(不幸的是计算器并不让我回答这个问题,由于缺乏信誉)

原来,由于SDK工具的修订17,被标记用Java仅出口外部库会运行时apk的一部分。所以解决方案很简单:

转到Java构建路径 - >订单和导出,并选中您在运行时需要的所有罐子旁边的框(通常应该是所有罐子)。

我不确定我之前是否应该这样做,但对于第15版和更早的版本,这从来都不是问题。

+0

这是你应该接受的一个很好的例子。只是FYI。 :-) – Gray 2012-05-19 22:19:16

回答

1

只需将库Jar文件添加到您的apk。它很容易做到这一点。

  1. 用鼠标右键单击该项目,然后单击属性。
  2. 点击Java Build Path并转到订单和导出选项卡。
  3. 点击右侧的Select All。点击ok
  4. 重新构建应用程序并尝试运行应用程序。

现在它应该工作。让我知道它是否适合你..?

+0

是的,它确实有效(部分原因是因为它与我在上面描述中包含的答案相同):诀窍是不仅在类路径中包括jar,还要标记它们以便导出 – Daniel 2012-03-25 08:45:32

+1

你能接受这个答案吗? – Pavandroid 2012-03-25 09:40:39