Android无法从外部jar解析类

时间:2012-03-25 08:10:17

标签: android jar classpath

我在将我的SDK工具从第15版更新到第17版之后遇到了这个问题,看起来有很多变化让我度过了漫长的一个晚上。想我分享这个,所以我希望能挽救别人的神经:

更新之后我的项目仍然会编译和构建,但是在运行时会抛出各种错误和异常NoClassDefFoundErrorClassDefNotFoundException或dalvik vm在logcat中抱怨它无法解析某些类或超级课程。原来它无法加载位于外部jar文件中的类(位于类路径中)。

解决方案/答案:(不幸的是,由于缺乏声誉,stackoverflow不允许我回答这个问题)

事实证明,自从sdk工具的第17版开始,只有标记为在java中导出的外部库才会在运行时成为apk的一部分。所以解决方案很简单:

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

我不确定我之前是否应该这样做,但是对于修订版15及更早版本,这绝不是问题。

1 个答案:

答案 0 :(得分:1)

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

  1. 右键单击该项目,然后单击属性。
  2. 点击Java Build Path并转到订单和导出标签。
  3. 点击右侧的Select All。点击ok
  4. 重新构建应用程序并尝试运行该应用程序。
  5. 现在它应该工作了。 Lemme知道它是否对你有用..?