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

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

点击打开链接

解决AS混淆时出现的错误Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'_第1张图片

开发者以后可以更加方便的使用热修复功能以及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\]来到这个目录下面。

解决AS混淆时出现的错误Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'_第2张图片

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

你可能感兴趣的:(Android开发常见问题)