我最近将我的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
答案 0 :(得分:4)
JSoup
库必须包含在项目中(因此文件大小减少)。通过转到构建路径设置Order and Export
选项卡,您可以勾选JSoup
库旁边的复选框,以确保在导出项目时它包含在项目中。确保在执行此操作后清理并重建。