Eclipse用Proguard导出签名包遇到Can't read [xxx/rt.jar]的解决办法

============================
原创,转载请指明出处(http://blog.xinspace.space)。

Eclipse导出签名包时,用Proguard,遇到了几个错误,下面记录一下错误和解决方法。

Eclipse的JDK版本不一致导致的rt.jar问题

1
Error:ProGuard: [MyApp] java.io.IOException: Can't read [xxxx/jdk1.8.0/jre/lib/rt.jar] (Can't process class [apple/applescript/AppleScriptEngine.class] (Unsupported class version number [52.0] (maximum 51.0, Java 1.7)))

解决方法就是保证Eclipse的Java Compiler的版本为1.6或1.7,使用的JDK版本为JDK1.7,具体修改的方法如下:

  1. 打开Eclipse,Preference->Java->Compiler,在Compiler compliance level修改为1.7,如下图

    2.到Oracle官网上下载JDK1.7,并安装。
    3.Preference->Java->Installed JREs->Add,在弹框中选择Standard VM或者MacOS X VM(Mac下使用),然后在下一步中选择安装的JDK1.7的路径,保存即可,如下图所示:



    4.Preference->Java->Installed JREs,在弹框中选择添加了的JDK1.7,作为默认的JDK,保存即可,如下图所示:

    5.现在重新启动Eclipse(退出再重新打开),就可以打包了。