1

我最近将我的 eclipse 安装升级到 Juno 并安装了最新的 android ADT,现在当我尝试编译我的一个旧应用程序时,我遇到了问题。

自从它以前可以工作以来,我没有更改任何代码,编译应用程序时没有错误,并且我能够毫无错误地导出新的 APK。

但是,当我尝试运行它时,我收到大量关于死代码的警告和错误,无法找到类,无法解析我的 Jsoup 库中的方法,如下所示:

09-08 20:23:26.006: I/dalvikvm(24213): Could not find method org.jsoup.Jsoup.parse, referenced from method com.myapp
09-08 20:23:26.006: W/dalvikvm(24213): VFY: unable to resolve static method 557: Lorg/jsoup/Jsoup;.parse (Ljava/lang/String;)Lorg/jsoup/nodes/Document;
09-08 20:23:26.006: D/dalvikvm(24213): VFY: replacing opcode 0x71 at 0x0047
09-08 20:23:26.006: D/dalvikvm(24213): VFY: dead code 0x004a-0059 in Lcom/karwosts/PortfolioMap/GoogleFinance;.SendHttpRequest (Ljava/lang/String;Ljava/lang/String;)Lorg/jsoup/nodes/Document;
09-08 20:23:26.006: W/dalvikvm(24213): VFY: unable to find class referenced in signature (Lorg/jsoup/nodes/Document;)
09-08 20:23:26.006: W/dalvikvm(24213): VFY: unable to find class referenced in signature (Lorg/jsoup/nodes/Document;)

一旦我的应用程序调用了一个 Jsoup 方法,它就会随着

09-08 20:23:28.566: E/AndroidRuntime(24213): FATAL EXCEPTION: IntentService[com.myapp]
09-08 20:23:28.566: E/AndroidRuntime(24213): java.lang.NoClassDefFoundError: org.jsoup.Jsoup

另一个问题是我导出的新 APK 是 77kb,而我的旧 APK 曾经是 199kb,所以似乎缺少了一大块东西。

我清理了项目,尝试从工作区删除项目并从现有代码创建新项目,但没有帮助。我尝试将 Java 编译器版本更改为 1.5 或 1.6 或 1.7,但没有帮助。

这是我的构建路径库设置:

在此处输入图像描述

订购和出口:

在此处输入图像描述

任何可能已经破坏的想法将不胜感激。我正在使用 Android SDK 20.0.3

4

1 回答 1

4

JSoup库必须包含在项目中(因此文件大小减小)。通过转到构建路径设置Order and Export选项卡,您可以勾选库旁边的复选框,JSoup以确保在导出时它包含在项目中。确保在执行此操作后进行清理和重建。

于 2012-09-09T05:23:02.773 回答