首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >打包过程中出现Android、Gradle和重复文件错误

打包过程中出现Android、Gradle和重复文件错误
EN

Stack Overflow用户
提问于 2014-03-06 23:20:41
回答 3查看 922关注 0票数 3

我想在我的Android项目中使用json-schema-validator,如下所示:

dependencies { compile 'com.github.fge:json-schema-validator:2.1.8' }

不幸的是,Gradle由于以下文件重复错误而停止打包:

Path in archive: draftv3/schema Origin 1: /Users/andrej/.gradle/caches/modules-2/files-2.1/com.github.fge/json-schema-validator/2.1.8/4c2a5be8ce86c2338561a651d7d22fb4c4a8763d/json-schema-validator-2.1.8.jar Origin 2: /Users/andrej/.gradle/caches/modules-2/files-2.1/com.github.fge/json-schema-core/1.1.9/4ead9ba3fb3bde69d93f738042d12a9e60e41645/json-schema-core-1.1.9.jar

我知道我可以忽略这个文件,如下所示:

packagingOptions { exclude 'draftv3/schema' }

但是该文件由json-schema-validator和json-validator-core使用,因此在生成的APK中需要该文件。

如何强制Gradle继续打包,同时保留此文件的两个版本之一(它们是相等的)?

谢谢,安德烈

EN

回答 3

Stack Overflow用户

发布于 2014-03-07 18:10:01

对于其他人,这里有一个快速的解决方法,直到Gradle将使用适当的复制策略添加打包选项:

android.applicationVariants.all { variant-> variant.assemble.doFirst { exec { executable "sh" args "-c", "find ~/.gradle/caches/ -iname 'json-schema-validator*.jar' -exec zip -d '{}' 'draftv3/schema' \\;" args "-c", "find ~/.gradle/caches/ -iname 'json-schema-validator*.jar' -exec zip -d '{}' 'draftv4/schema' \\;" } } }

票数 1
EN

Stack Overflow用户

发布于 2015-12-03 19:50:09

通过在build.graddle文件中明确提到draftv/schema文件,我们可以解决这个问题。

代码语言:javascript
复制
    android {

    ...

        packagingOptions {

            ...

            pickFirst 'draftv3/schema'
            pickFirst 'draftv4/schema'

        }
    }
票数 1
EN

Stack Overflow用户

发布于 2014-03-06 23:28:02

尝试以下操作以仅从您的依赖项中排除draftv3/schema

代码语言:javascript
复制
dependencies {
   compile('com.github.fge:json-schema-validator:2.1.8') {
       exclude 'draftv3/schema'
   }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22228647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档