启用Proguard后无法导出签名的APK包的解决办法

好多同学做完Android项目后,在尝试导出签名的APK程序包时遇到此错误:“Proguard returned with error code 1. See console”,按提示查看控制台,错误信息为“can't find referenced class...”,如图所示:

error1_1.png 

error1_2.png 
  
        出现此错误提示是因为使用了Proguard代码混淆器,同时在项目中引用了第三方jar包,但却没有在Proguard的配置文件中标明引用了的jar包所致。解决方法如下:
        在eclipse左侧的包资源管理器中找到proguard-project.txt,将其打开,然后在任一空行中使用-libraryjars标明所有引用了的第三方jar包。引用了的第三方jar包可以在包资源管理器中的“引用的库”(Referenced Libraries)中查看。如图所示:

正确设置.png 

        注意指定引用的jar包的位置时要把路径写对。本例中引用了有米的jar包youmi-appoffer_v2.11_a_2012-02-24.jar。如果直接在-libraryjars后指定此文件名,则会出现以下错误:java.io.IOException: Can't read [D:\Android\workspace\MiaoWord\youmi-appoffer_v2.11_a_2012-02-24.jar] (No such file or directory)

error2_1.png 

error2_2.png 

        的确,在D:\Android\workspace\MiaoWord文件夹中确实不存在youmi-appoffer_v2.11_a_2012-02-24.jar,因为这个文件是放在lib文件夹中的。所以应该在jar的文件名前加“/lib”。

dir1.png 

dir2.png 

        正确设置后,导出APK包不再报错。可以看到启用Proguard和不启用Proguard导出的程序包经过反编译后看到的源代码的差别还是比较大的。

不混淆.png 

混淆.png 

        注:本次实验在以下环境中测试通过:eclipse indigo(3.7.2),Proguard 4.8,Android Development Toolkit 18.0.0,Android SDK Tools 19,Android SDK Platform-tools 11 。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值