基于JDK1.8,Android Proguard失败

基于JDK1.8,Android Proguard失败

1、开发环境

Win10/Mac、Maven v3.2.3、AndroidSDK v23.1

2、pom.xml部分内容

 <plugin> <groupId>com.jayway.maven.plugins.android.generation2</groupId>
                <artifactId>android-maven-plugin</artifactId>
                <version>3.8.2</version>
                <configuration>                   
                   <!-- 使用签名时一定加上该字段,否则签名失败 -->
                    <sign>
                        <debug>false</debug>
                    </sign>

                    <sdk>
                        <platform>${platform.versionCode}</platform>
                    </sdk>
                    <undeployBeforeDeploy>true</undeployBeforeDeploy>                    
                    <proguard>
                        <skip>false</skip><config>${project.basedir}/proguard.txt</config>
                    </proguard>
                </configuration>
                <extensions>true</extensions>
                <inherited>true</inherited>
            </plugin>

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <fork>true</fork>
                    <meminitial>512m</meminitial>
                    <maxmem>1048m</maxmem>
                </configuration>
            </plugin>

3、问题表现

执行mvn install命令,报

[INFO] java.io.IOException: Can't read [D:\Program Files\Java\jdk1.8.0_91\jre\lib\rt.jar] (Can't process class [com/oracle/net/Sdp$1.class] (Unsupported class version number [52.0] (maximum 51.0, Java 1.7)))

这里写图片描述

4、分析问题

原本使用JDK1.7没有出这问题,是安装JDK1.8后才出错。那么就将maven-compiler-plugin的编译设置为1.7模式。问题还是没法解决。
如果屏蔽代码混淆的脚本,可以install成功。

<proguard>
     <skip>false</skip>   <config>${project.basedir}/proguard.txt</config>
</proguard>

那么问题是proguard版本只支持到java7,而我使用的是java8.

5、解决办法

下载最新proguard(支持java 8的版本),然后将下载的文件解压。将andorid sdk/tools/proguard/lib中的jar包,替换为刚下载解压文件中的lib包。【问题解决】
proguard包的下载地址:http://proguard.sourceforge.net/


如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值