当我将 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
希望对你有所帮助,否则你可以敲我寻求进一步的帮助。
我正在尝试将 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
我明白这个错误在技术上意味着什么,但不明白为什么会出现在这种情况下。我试图通过在每个 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
希望对你有所帮助,否则你可以敲我寻求进一步的帮助。