proguard打包异常
来源:互联网 发布:查理.普斯 知乎 编辑:程序博客网 时间:2024/06/05 20:12
工程需要加入一个混淆过的jar包,奈何打包不成功,提示错误:
[2016-12-29 09:42:35 - PayElectricityCard] Proguard returned with error code 1. See console[2016-12-29 09:42:35 - PayElectricityCard] Note: there were 2403 duplicate class definitions.[2016-12-29 09:42:35 - PayElectricityCard] (http://proguard.sourceforge.net/manual/troubleshooting.html#duplicateclass)[2016-12-29 09:42:35 - PayElectricityCard] java.lang.IllegalArgumentException: Value is not a reference value [proguard.evaluation.value.InstructionOffsetValue][2016-12-29 09:42:35 - PayElectricityCard] at proguard.evaluation.value.Value.referenceValue(Unknown Source)[2016-12-29 09:42:35 - PayElectricityCard] at proguard.optimize.evaluation.SimpleEnumUseSimplifier.isPoppingSimpleEnum(Unknown Source)[2016-12-29 09:42:35 - PayElectricityCard] at proguard.optimize.evaluation.SimpleEnumUseSimplifier.isPoppingSimpleEnum(Unknown Source)[2016-12-29 09:42:35 - PayElectricityCard] at proguard.optimize.evaluation.SimpleEnumUseSimplifier.visitVariableInstruction(Unknown Source)[2016-12-29 09:42:35 - PayElectricityCard] at proguard.classfile.instruction.VariableInstruction.accept(Unknown Source)[2016-12-29 09:42:35 - PayElectricityCard] at proguard.optimize.evaluation.SimpleEnumUseSimplifier.visitCodeAttribute(Unknown Source)[2016-12-29 09:42:35 - PayElectricityCard] at proguard.classfile.attribute.CodeAttribute.accept(Unknown Source)[2016-12-29 09:42:35 - PayElectricityCard] at proguard.classfile.ProgramMethod.attributesAccept(Unknown Source)[2016-12-29 09:42:35 - PayElectricityCard] at proguard.classfile.attribute.visitor.AllAttributeVisitor.visitProgramMember(Unknown Source)[2016-12-29 09:42:35 - PayElectricityCard] at proguard.classfile.util.SimplifiedVisitor.visitProgramMethod(Unknown Source)[2016-12-29 09:42:35 - PayElectricityCard] at proguard.classfile.ProgramMethod.accept(Unknown Source)[2016-12-29 09:42:35 - PayElectricityCard] at proguard.classfile.ProgramClass.methodsAccept(Unknown Source)[2016-12-29 09:42:35 - PayElectricityCard] at proguard.classfile.visitor.AllMethodVisitor.visitProgramClass(Unknown Source)[2016-12-29 09:42:35 - PayElectricityCard] at proguard.classfile.ProgramClass.accept(Unknown Source)[2016-12-29 09:42:35 - PayElectricityCard] at proguard.classfile.ClassPool.classesAccept(Unknown Source)[2016-12-29 09:42:35 - PayElectricityCard] at proguard.optimize.Optimizer.execute(Unknown Source)[2016-12-29 09:42:35 - PayElectricityCard] at proguard.ProGuard.optimize(Unknown Source)[2016-12-29 09:42:35 - PayElectricityCard] at proguard.ProGuard.execute(Unknown Source)[2016-12-29 09:42:35 - PayElectricityCard] at proguard.ProGuard.main(Unknown Source)
但是对于这个jar包,我已经在proguard.cfg文件中加了相关配置:
-libraryjars libs/paycardbluelibraryplugin.jar-dontwarn com.bde.parentcytransport.**-keep class com.bde.parentcytransport.** { *; }
还是无法打包,然后就百度去了。。。有人说是proguard的版本问题,于是找到了链接:
http://blog.csdn.net/jiguangcanhen/article/details/41806599
便去下载了几个版本,结果替换proguard.jar之后,proguardgui.jar便无法启动了。。。所以我认为这个不能单独换,要替换也是proguard这个文件夹一起替换,把之前的proguard注释为proguard_bank即可。
让我惊奇的是单独替换proguard.jar之后,有些情况下竟然还能够打包成功,比如我在网上下载了三个版本的proguard.jar,其中有一个就能正常打包,可能刚好适配的缘故吧。。。但是这三个都无法启动proguardgui.jar,只是有一个可以打包成功 ,另两个打包都失败。。。
还是不太明白问题到底在哪里,于是把注意力放在打包的jar上,发现jar包有点小问题,就是包名有点小问题,
小问题就是这个jar包的工程我修改过包名,但是修改完包名后,manifest文件中的包名并没有修改,于是打包出来的jar就有问题了。
要修改包名,需要全部都修改好,才可以打包。
然后修改正确,打包jar导入到工程中libs下面,然后去看jar包下面的包和类是否能正常浏览观看,发现可以。
不懂的可以看看引用其他的包导入libs后,Android Private Library下的类目录是否正常
于是重新打包,这下竟然好了。。。。
于是切换到我之前有问题的proguard文件夹下重新打包,也好了。。。
原来问题还是出在打包出来的jar上,而不是proguard的版本上。有问题请仔细检查配置proguard.pro文件,仔细检查!
我原来用的proguard版本是4.7,网上下载了一个4.11的也是可以用的
- proguard打包异常
- android proguard混淆打包
- 混淆打包proguard.cfg
- mac proguard混淆打包
- android 混淆打包 proguard 原理
- 使用proguard混淆打包APK
- android应用proguard混淆打包
- AndroidStudio下ProGuard混淆打包
- Android 之 打包混淆ProGuard
- Android ProGuard打包混淆代码
- Android Proguard混淆打包经验总结
- Android Proguard混淆打包经验总结
- ant+proguard签名打包 .jar
- Android Proguard混淆打包经验总结
- Android Proguard混淆打包经验总结
- Android 签名打包 混淆代码 proguard
- android打包混淆-proguard配置详解
- Android 混淆打包标准proguard 配置
- JavaScript事件机制
- 《JAVA与模式》之状态模式
- 20161229:for python网络数据采集03
- bootstrap html页面禁止放大缩小
- iOS开发日志输出第三方库
- proguard打包异常
- Java语言基础
- mac eclipse EDT C++以及symbol 'std' could not be resolved问题的解决
- 看看腾讯和百度等这样的大型网站系统架构是如何演化的
- CocoaPods创建自己的pod
- ubuntu14.04下设置静态IP
- nginx 代理http转https
- WiFi Throughput summary
- TCP服务器端、客户端模式初文