当我将 Google Translate 客户端库添加到我的 Android 项目时,为什么会出现此错误?

Why do I get this error when I add the Google Translate client library to my Android project?

我正在尝试将 Google Translate 客户端库添加到我的 Android 项目中 these instructions,它告诉我将此行添加到我在 [=33= 中的依赖项中] 我的 library 项目(这是我的应用程序项目的依赖项):

compile group: 'com.google.cloud', name: 'google-cloud-translate', version: '0.4.0'

但是当我这样做时,我得到这个错误:

Error:Execution failed for task ':typeSmart:transformResourcesWithMergeJavaResForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/LICENSE
    File1: C:\Users\Barry\.gradle\caches\modules-2\files-2.1\com.google.auto.value\auto-value.1\f6951c141ea3e89c0f8b01da16834880a1ebf162\auto-value-1.1.jar
    File2: C:\Users\Barry\.gradle\caches\modules-2\files-2.1\org.codehaus.jackson\jackson-core-asl.9.11\e32303ef8bd18a5c9272780d49b81c95e05ddf43\jackson-core-asl-1.9.11.jar
    File3: C:\Users\Barry\.gradle\caches\modules-2\files-2.1\com.google.inject\guice.0\f990a43d3725781b6db7cd0acf0a8b62dfd1649\guice-4.0.jar

我明白这个错误在技术上意味着什么,但不明白为什么会出现在这种情况下。我试图通过在每个 (和其他人)的 build.gradle 中添加一个 packagingOptions 块来抑制它,但它没有帮助(加上它是非法的)。

Google 似乎不太可能发布内部不一致的 API。该问题可能特定于我的环境。我的应用程序包含一个库模块,其中包含我的大部分代码。它是应用程序模块的依赖项。我怀疑这与它有关。

我正在使用:Gradle 2.14.1; Android Studio 2.2.2;构建工具 25.0.0.

您是否已将 Google Translate 客户端库成功添加到您的 Android 项目中?如果是,怎么做?

提前致谢...

这似乎是 Google 端的错误:https://github.com/GoogleCloudPlatform/google-cloud-java/issues/1361

如果有人想提供解决方法,我会保留赏金。

你能试试下面的内容吗,插入你的 android 块:

packagingOptions {
    exclude 'LICENSE'
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/NOTICE'
    exclude 'META-INF/DEPENDENCIES'
    exclude 'META-INF/LICENSE.txt'
    exclude 'META-INF/NOTICE.txt'
    exclude 'META-INF/DEPENDENCIES.txt'

    // `return void` removes the lint error: `Not all execution paths return a value`.
    return void
}

添加在库项目和您自己的项目中重复的任何其他文件。 当需要表扬时,将以上所有内容合并到他们自己的 html 页面(或文本文件)中进行展示。

将以下内容添加到您的 pom.xml 文件中:

<project>
  <dependencies>
    <dependency>
      <groupId>com.google.apis</groupId>
      <artifactId>google-api-services-translate</artifactId>
      <version>v2-rev47-1.22.0</version>
    </dependency>
  </dependencies>
</project>

将以下内容添加到您的 build.gradle 文件中:

repositories {

    mavenCentral()

}

dependencies {

    compile 'com.google.apis:google-api-services-translate:v2-rev47-1.22.0'

}

并查看此文档:https://cloud.google.com/translate/v2/translating-text-with-rest

并在 github 中: https://github.com/google/google-api-java-client

希望对你有所帮助,否则你可以敲我寻求进一步的帮助。