Android开发编译打包Can’t write C:…proguardreleasejars31fmain.jar] (Duplicate zip entry..

释放双眼,带上耳机,听听看~!

1.Studio 签名打包出现 java.io.IOException: Can’t write、Can’t read 异常

分析出现的原因是由于引入的类库中有冲突文件所致

类似如下报错

Can't read [/home/junliang/Soft/Envirenment/sdk2/.android/build-cache/b576f92014f08ed7588f47f33f7b84e3db2ad574/output/jars/classes.jar(;;;;;;**.class)] (Duplicate zip entry [classes.jar:android/support/design/widget/CoordinatorLayout.class]))
:app:transformClassesAndResourcesWithProguardForRelease FAILED

寻找解决方案:根据翻译可知:

有两个引用的依赖重复依赖同一个类android/support/design/widget/CoordinatorLayout.class, 在android studio里查看, 确实有两个相同的类, 这个类分别在不同的依赖包里面,相应的一些版本号不一致

根据错误提示信息:

Duplicate zip entry 后面的信息CoordinatorLayout.class有问题

as中点击快捷键 ctrl+N 输入编译错误的类 CoordinatorLayout

此时发现有两个,分别在不同的包中,也就是说这两个引用类,冲突所致,解决方案:

将具有中途的类,引入同一个版本,以此为例:CoordinatorLayout在design包下,
引入同一个:
compile 'com.android.support:design:27.1.1'

重新签名打包即可成功,另外也可以使用:exclude module: 将低版本的模块依赖去掉

人已赞赏
Android文章

Android开发空字符串调用equals( ) 方法导致的报错

2020-1-25 16:08:32

Android文章

Android开发一些常见的很不错的Android开关 高仿IOS按钮开关

2020-1-25 22:43:18

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索