我最近将我的 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
最佳答案
JSoup
库必须包含在项目中(因此减小了文件大小)。通过转到 Build Path 设置,Order and Export
选项卡,您可以勾选 JSoup
库旁边的复选框,以确保在导出时它包含在项目中.确保在执行此操作后进行清理和重建。
关于java - ADT/Eclipse 升级后库出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12336334/