0

我正在尝试在 Android 应用程序项目中使用 gcloud-java-datastore 库。但是,在尝试构建时,我不断遇到以下错误:

任务 ':app:transformClassesWithJarMergingForDebug' 执行失败。com.android.build.api.transform.TransformException:java.util.zip.ZipException:重复条目:... [几个不同类之一]

我尝试com.google.guava从 build.gradle 中的 gcloud-java-datastore (v0.2.8) 中排除各种依赖项(例如)以使其编译。如果我排除com.google.api.grpc, com.google.guava,com.google.api-client和其中一个datastore-v1-protosor protobuf-java,我可以让它编译成功。但是,排除最后两个依赖项中的任何一个都会破坏库的核心功能。

甚至可以在 Android 中使用这个库吗?如果是这样,我做错了什么?

4

1 回答 1

0

好的,想通了。我下载并提取了 datastore-v1-protos-1.0.1.jar,删除了除 com/google/datastore 文件夹之外的所有内容,创建了一个新 jar,并将其作为库包含在我的 Android Studio 项目中。然后我将 gcloud-java-datastore 库添加到 build.gradle 中,并排除以下内容:

compile('com.google.cloud:gcloud-java-datastore:0.2.8') {
    exclude group: 'com.google.api-client', module: 'google-api-client-appengine'
    exclude group: 'com.google.guava', module: 'guava-jdk5'
    exclude group: 'com.google.cloud.datastore', module: 'datastore-v1-protos'
}

和以下包装选项:

packagingOptions {
    pickFirst 'META-INF/INDEX.LIST'
    pickFirst 'META-INF/services/io.grpc.ManagedChannelProvider'
    pickFirst 'META-INF/io.netty.versions.properties'
    pickFirst 'META-INF/maven/com.google.guava/guava/pom.xml'
    pickFirst 'META-INF/maven/com.google.guava/guava/pom.properties'
}
于 2016-08-31T22:15:20.897 回答