混淆编译ProGuard打包时候报错的问题

(★rongwenbin:很多错误提示是第三方lib问题,实际上是ProGuard的版本不兼容,将之升级后很多奇怪问题都能解决。)


在对apk试用代码混淆,最后打包的时候,出现了如下的错误:

  1. Proguard returned with error code 1. See console  
  2. proguard.ParseException: Unknown option 'and' in argument number 9  
  3. at proguard.ConfigurationParser.parse(ConfigurationParser.java:170)  
  4. at proguard.ProGuard.main(ProGuard.java:491)  
 Proguard returned with error code 1. See console
 proguard.ParseException: Unknown option 'and' in argument number 9
 at proguard.ConfigurationParser.parse(ConfigurationParser.java:170)
 at proguard.ProGuard.main(ProGuard.java:491)

在网上搜了一下,根据别人的经验和方法,下面两种情况会出现下面问题。

1、当前SDK的版本和ProGuard的版本不兼容,需要升级到4.6以上,经过升级问题顺利解决。

为大家提供一下升级ProGuaed4.7版本下载地址,是一个压缩包:

http://sourceforge.net/projects/proguard/files/

升级方法:

解压缩 proguard4.6.zip 文件,将 bin 和 lib 两个文件夹覆盖 [Android SDK 安装目录]\tools\proguard 中的同名文件夹,回到 Eclipse 重新执行 Export Android Application 看看是否成功了。如果失败,重启再试。


2、工程文件名称包含空格

如: C:\workspace\Name Android Name

需要把工程文件修改 C:\workspace\androidProjectName

 


混淆后的输出:

混淆后在工作区的项目文件夹下会生成一个proguard文件。

其中:

  dump.txt 描述了apk文件中所有类的结构。

  mapping.txt 列出了源码与混淆后的,类、方法、字段的名称映射。当你从发布项目中收到Bug报告时(大体意思应该是,用手机连接到Eclipse调试混淆后的软件时,为了正确的输出日志会用到这个映射文件),这个文件时很重要的。因为需要翻译混淆堆栈跟踪后的类名、方法、字段的名称(这些是源码中真正的名称)。

  seeds.txt 列出没有混淆的类和成员。

  usage.txt 列出了从apk文件中剥离的代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值