解决AS混淆时出现的错误Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'

在集成腾讯buglySDK的时候出现的这个问题。顺带提一下bugly。这玩意最近腾讯更新SDK它集成了微信开源的热修复框架技术Tinker。更多关于微信Tinker集成可以看这里

点击打开链接


开发者以后可以更加方便的使用热修复功能以及bugly其他的功能。非常方便。在此对于将准备集成bugly的开发者建议是用as。好处就不多说了。回归正题。这是我遇到的错误:

Error:Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'.
> java.io.IOException: Can't write [D:\android_wk_henry_as\TestAppBugly\app\build\intermediates\transforms\proguard\release\jars\3\1f\main.jar] (Can't read [D:\android_wk_henry_as\TestAppBugly\app\build\intermediates\transforms\AuxiliaryInject\release\jars\1\1f\classes_63db0612d7cd5222bf5473108842b503.jar(;;;;;;**.class)] (Duplicate zip entry [android/support/v4/b/a/a$a.class == classes_63db0612d7cd5222bf5473108842b503.jar:android/support/v4/graphics/drawable/DrawableCompat$BaseDrawableImpl.class]))

Error:Execution failed for task ':app:transformClassesWithJarMergingForRelease'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/v4/database/DatabaseUtilsCompat.class

最开始看到cant write和大家一样以为是6.0读写权限问题。其实不是的。这里就是单纯的混淆时包冲突了。解决办法:

首先看看proguard-rules.pro文件,仔细检查是否混淆有误。

其次在根据上面错误指引[D:\android_wk_henry_as\TestAppBugly\app\build\intermediates\transforms\AuxiliaryInject\release\jars\1\1f\]来到这个目录下面。


把这个1f目录下的包都删除掉,在来run as一下就可以编译通过了。如果还报错,那就删掉之后重启AS即可。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值