Android Studio 3.1 gradle 构建抛出 java.util.zip.ZipException
Android Studio 3.1 gradle build throws java.util.zip.ZipException
升级到 Android Studio 3.0 后,我在 gradle 构建期间得到了这个:
Execution failed for task
':lf-android-myproject:transformClassesAndResourcesWithPrepareIntermediateJarsForDebug'.
java.lang.RuntimeException: java.util.zip.ZipException: duplicate entry: com/my/package/name/SomeCustomView.class
有问题的 class 来自我的代码,它不是来自库。
只有我的 class 声明了自定义属性时才会发生这种情况:
<declare-styleable name="SomeCustomView">
<attr name="someCustomViewText" format="reference|string" />
</declare-styleable>
我可以通过清理然后从控制台构建来修复它,但它最终会再次弹出。
我也可以通过重命名 class 或 styleable 来修复它,但我真的不想为了绕过 AS(或 gradle?)bug 而弄乱我们的代码将来可能会修复。
它是 Android Studio 错误吗?有什么解决方法吗?
Gradle版本为:gradle-4.1-all
Android Gradle插件版本为:3.0.1
这个问题可能有不同的原因。但是,这里有一种方法可以修复 Gradle 构建错误:“java.util.zip.ZipException:重复条目”
如果您更新了 android 项目中的一些库,然后在组装它(或类似的东西)时遇到以下错误:
原因是有些库有类似的依赖关系,所以编译器无法选择合适的。
根据日志,问题在重复的class
org/intellij/lang/annotations/Identifier.class
要找到此 class 用法,您应该过滤详细的 gradle 日志:
修复它!
删除其中一个依赖项:
按照您的情况进行操作,我想您会找到解决方案。
我通过从项目和 re-importing 项目中删除 Android Studio 文件解决了这个问题。
升级到 Android Studio 3.0 后,我在 gradle 构建期间得到了这个:
Execution failed for task ':lf-android-myproject:transformClassesAndResourcesWithPrepareIntermediateJarsForDebug'.
java.lang.RuntimeException: java.util.zip.ZipException: duplicate entry: com/my/package/name/SomeCustomView.class
有问题的 class 来自我的代码,它不是来自库。
只有我的 class 声明了自定义属性时才会发生这种情况:
<declare-styleable name="SomeCustomView">
<attr name="someCustomViewText" format="reference|string" />
</declare-styleable>
我可以通过清理然后从控制台构建来修复它,但它最终会再次弹出。
我也可以通过重命名 class 或 styleable 来修复它,但我真的不想为了绕过 AS(或 gradle?)bug 而弄乱我们的代码将来可能会修复。
它是 Android Studio 错误吗?有什么解决方法吗?
Gradle版本为:gradle-4.1-all
Android Gradle插件版本为:3.0.1
这个问题可能有不同的原因。但是,这里有一种方法可以修复 Gradle 构建错误:“java.util.zip.ZipException:重复条目”
如果您更新了 android 项目中的一些库,然后在组装它(或类似的东西)时遇到以下错误:
原因是有些库有类似的依赖关系,所以编译器无法选择合适的。
根据日志,问题在重复的class
org/intellij/lang/annotations/Identifier.class
要找到此 class 用法,您应该过滤详细的 gradle 日志:
修复它!
删除其中一个依赖项:
按照您的情况进行操作,我想您会找到解决方案。
我通过从项目和 re-importing 项目中删除 Android Studio 文件解决了这个问题。