在模块中发现重复 class com.google.android.gms.internal.vision.zze
Duplicate class com.google.android.gms.internal.vision.zze found in modules
我正在尝试使用 openCV 和 Firebase ML Kit 构建应用程序。但是在构建项目时出现以下错误:
Duplicate class com.google.android.gms.internal.vision.zze found in modules jetified-play-services-vision-20.0.0-runtime.jar (com.google.android.gms:play-services-vision:20.0.0) and jetified-play-services-vision-common-19.1.0-runtime.jar (com.google.android.gms:play-services-vision-common:19.1.0)
Duplicate class com.google.android.gms.internal.vision.zzf found in modules jetified-play-services-vision-20.0.0-runtime.jar (com.google.android.gms:play-services-vision:20.0.0) and jetified-play-services-vision-common-19.1.0-runtime.jar (com.google.android.gms:play-services-vision-common:19.1.0)
Duplicate class com.google.android.gms.internal.vision.zzg found in modules jetified-play-services-vision-20.0.0-runtime.jar (com.google.android.gms:play-services-vision:20.0.0) and jetified-play-services-vision-common-19.1.0-runtime.jar (com.google.android.gms:play-services-vision-common:19.1.0)
Duplicate class com.google.android.gms.internal.vision.zzh found in modules jetified-play-services-vision-20.0.0-runtime.jar (com.google.android.gms:play-services-vision:20.0.0) and jetified-play-services-vision-common-19.1.0-runtime.jar (com.google.android.gms:play-services-vision-common:19.1.0)
Duplicate class com.google.android.gms.internal.vision.zzi found in modules jetified-play-services-vision-20.0.0-runtime.jar (com.google.android.gms:play-services-vision:20.0.0) and jetified-play-services-vision-common-19.1.0-runtime.jar (com.google.android.gms:play-services-vision-common:19.1.0)
Duplicate class com.google.android.gms.internal.vision.zzv found in modules jetified-play-services-vision-20.0.0-runtime.jar (com.google.android.gms:play-services-vision:20.0.0) and jetified-play-services-vision-common-19.1.0-runtime.jar (com.google.android.gms:play-services-vision-common:19.1.0)
Duplicate class com.google.android.gms.internal.vision.zzw found in modules jetified-play-services-vision-20.0.0-runtime.jar (com.google.android.gms:play-services-vision:20.0.0) and jetified-play-services-vision-common-19.1.0-runtime.jar (com.google.android.gms:play-services-vision-common:19.1.0)
Go to the documentation to learn how to Fix dependency resolution errors.
我尝试搜索完全相同的错误但没有得到任何结果,然后我搜索了重复的 class 问题,没有解决问题的特定方法,每个人都分享了他们的经验,但都没有为我工作。
这是我的build.gradle文件:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 30
buildToolsVersion "30.0.2"
defaultConfig {
applicationId "com.example.cameraactivity"
minSdkVersion 21
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.core:core-ktx:1.3.1'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
implementation 'com.google.firebase:firebase-ml-vision:24.1.0'
implementation project(path: ':sdk')
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}
都是关于这一行的:
implementation 'com.google.firebase:firebase-ml-vision:24.1.0'
当我评论这一行时,它不会在我构建项目时出错(我还没有添加功能)。
提前致谢
在build.gradle中添加以下内容:模块
implementation 'com.google.android.gms:play-services-vision:20.0.0'
implementation 'com.google.firebase:firebase-ml-vision:24.0.3'
implementation 'com.google.firebase:firebase-ml-vision-barcode-model:16.1.1'
并在 build.gradle:项目
classpath 'com.google.gms:google-services:4.3.3'
在 buildscript-->dependencies.
或者,您最好转移到我们 6 月初推出的新 ML Kit SDK。 on-device API 在 Firebase ML 中被视为已弃用,更新/改进仅在新 SDK 中可用。为帮助转换,可以找到迁移指南 here。
我在使用 24.1.0 版的 firebase-ml-vision 时遇到了同样的问题。
这是官方的解决方案:
Firebase Release Note MLKIT Self Serve Fixes
所以我不得不向 play-services-vision 添加一个我以前不再需要的依赖项:
实施'com.google.android.gms:play-services-vision:20.1.1'
我希望他们会在下一个版本中修复它
我有同样的问题,如果您正在使用 firebase 依赖项更新到 app/build 中的最新版本。gradle 请参阅附件过程
dependencies {
implementation platform('com.google.firebase:firebase-bom:29.0.0')
}
通过文档获取最新版本
https://firebase.google.com/support/release-notes/android
我们遇到了类似的问题。我将在此基础上添加一些步骤,希望遇到此问题的其他人稍后可以自行解决。
我们的问题是,
Execution failed for task ':app:checkStagingReleaseDuplicateClasses'.
> 1 exception was raised by workers: java.lang.RuntimeException: Duplicate class com.google.android.gms.internal.vision.zzbl found in modules play-services-vision-common-19.1.3-runtime.jar (com.google.android.gms:play-services-vision-common:19.1.3) and play-services-vision-face-contour-internal-16.0.0-runtime.jar (com.google.android.gms:play-services-vision-face-contour-internal:16.0.0)
我们尝试了很多方法,包括这些答案中提到的步骤,但没有任何效果。经过大量的暴力破解和错误的破解,我们做到了。
错误很简单,有两个地方出现问题。这两个地方都没有在我们的 build.gradle
中的任何地方实现。所以它显然来自放置模块的组,在我们的例子中是 com.google.android.gms
。所以,首先我们检查了我们为 gms 实现的版本是什么,才发现那里没有问题。虽然我们确实通过升级和降级来解决了一些问题,但实际上什么也没发生。
所以我们想,为什么不检查应用程序中的其他地方是正在实施的重复项之一,结果才发现,我们已经安装了 react-native-camera,它使用 play-services-vision 并已实施在它自己的 build.gradle
中。所以现在,我们脑子里的灯泡熄灭了,我们也在我们自己的 build.gradle 中实现了 react-native-camera。像这样
implementation project(':react-native-camera')
。为什么不让它停止尝试从我们这端实施 play-services-vision-face-contour-internal?
这样就得出了解决方案,
implementation (project(':react-native-camera')) {
exclude module: 'play-services-vision-face-contour-internal'
}
这样一来,重复的错误就不再显示了,我们可以安心地继续开发了。
我知道这里没有太多的技术知识,只是为了让有人在遇到这样的事情时也可以研究一下这样的事情。我不知道这是否有意义
我正在尝试使用 openCV 和 Firebase ML Kit 构建应用程序。但是在构建项目时出现以下错误:
Duplicate class com.google.android.gms.internal.vision.zze found in modules jetified-play-services-vision-20.0.0-runtime.jar (com.google.android.gms:play-services-vision:20.0.0) and jetified-play-services-vision-common-19.1.0-runtime.jar (com.google.android.gms:play-services-vision-common:19.1.0)
Duplicate class com.google.android.gms.internal.vision.zzf found in modules jetified-play-services-vision-20.0.0-runtime.jar (com.google.android.gms:play-services-vision:20.0.0) and jetified-play-services-vision-common-19.1.0-runtime.jar (com.google.android.gms:play-services-vision-common:19.1.0)
Duplicate class com.google.android.gms.internal.vision.zzg found in modules jetified-play-services-vision-20.0.0-runtime.jar (com.google.android.gms:play-services-vision:20.0.0) and jetified-play-services-vision-common-19.1.0-runtime.jar (com.google.android.gms:play-services-vision-common:19.1.0)
Duplicate class com.google.android.gms.internal.vision.zzh found in modules jetified-play-services-vision-20.0.0-runtime.jar (com.google.android.gms:play-services-vision:20.0.0) and jetified-play-services-vision-common-19.1.0-runtime.jar (com.google.android.gms:play-services-vision-common:19.1.0)
Duplicate class com.google.android.gms.internal.vision.zzi found in modules jetified-play-services-vision-20.0.0-runtime.jar (com.google.android.gms:play-services-vision:20.0.0) and jetified-play-services-vision-common-19.1.0-runtime.jar (com.google.android.gms:play-services-vision-common:19.1.0)
Duplicate class com.google.android.gms.internal.vision.zzv found in modules jetified-play-services-vision-20.0.0-runtime.jar (com.google.android.gms:play-services-vision:20.0.0) and jetified-play-services-vision-common-19.1.0-runtime.jar (com.google.android.gms:play-services-vision-common:19.1.0)
Duplicate class com.google.android.gms.internal.vision.zzw found in modules jetified-play-services-vision-20.0.0-runtime.jar (com.google.android.gms:play-services-vision:20.0.0) and jetified-play-services-vision-common-19.1.0-runtime.jar (com.google.android.gms:play-services-vision-common:19.1.0)
Go to the documentation to learn how to Fix dependency resolution errors.
我尝试搜索完全相同的错误但没有得到任何结果,然后我搜索了重复的 class 问题,没有解决问题的特定方法,每个人都分享了他们的经验,但都没有为我工作。
这是我的build.gradle文件:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 30
buildToolsVersion "30.0.2"
defaultConfig {
applicationId "com.example.cameraactivity"
minSdkVersion 21
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.core:core-ktx:1.3.1'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
implementation 'com.google.firebase:firebase-ml-vision:24.1.0'
implementation project(path: ':sdk')
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}
都是关于这一行的:
implementation 'com.google.firebase:firebase-ml-vision:24.1.0'
当我评论这一行时,它不会在我构建项目时出错(我还没有添加功能)。 提前致谢
在build.gradle中添加以下内容:模块
implementation 'com.google.android.gms:play-services-vision:20.0.0'
implementation 'com.google.firebase:firebase-ml-vision:24.0.3'
implementation 'com.google.firebase:firebase-ml-vision-barcode-model:16.1.1'
并在 build.gradle:项目
classpath 'com.google.gms:google-services:4.3.3'
在 buildscript-->dependencies.
或者,您最好转移到我们 6 月初推出的新 ML Kit SDK。 on-device API 在 Firebase ML 中被视为已弃用,更新/改进仅在新 SDK 中可用。为帮助转换,可以找到迁移指南 here。
我在使用 24.1.0 版的 firebase-ml-vision 时遇到了同样的问题。 这是官方的解决方案:
Firebase Release Note MLKIT Self Serve Fixes
所以我不得不向 play-services-vision 添加一个我以前不再需要的依赖项:
实施'com.google.android.gms:play-services-vision:20.1.1'
我希望他们会在下一个版本中修复它
我有同样的问题,如果您正在使用 firebase 依赖项更新到 app/build 中的最新版本。gradle 请参阅附件过程
dependencies {
implementation platform('com.google.firebase:firebase-bom:29.0.0')
}
通过文档获取最新版本 https://firebase.google.com/support/release-notes/android
我们遇到了类似的问题。我将在此基础上添加一些步骤,希望遇到此问题的其他人稍后可以自行解决。 我们的问题是,
Execution failed for task ':app:checkStagingReleaseDuplicateClasses'.
> 1 exception was raised by workers: java.lang.RuntimeException: Duplicate class com.google.android.gms.internal.vision.zzbl found in modules play-services-vision-common-19.1.3-runtime.jar (com.google.android.gms:play-services-vision-common:19.1.3) and play-services-vision-face-contour-internal-16.0.0-runtime.jar (com.google.android.gms:play-services-vision-face-contour-internal:16.0.0)
我们尝试了很多方法,包括这些答案中提到的步骤,但没有任何效果。经过大量的暴力破解和错误的破解,我们做到了。
错误很简单,有两个地方出现问题。这两个地方都没有在我们的 build.gradle
中的任何地方实现。所以它显然来自放置模块的组,在我们的例子中是 com.google.android.gms
。所以,首先我们检查了我们为 gms 实现的版本是什么,才发现那里没有问题。虽然我们确实通过升级和降级来解决了一些问题,但实际上什么也没发生。
所以我们想,为什么不检查应用程序中的其他地方是正在实施的重复项之一,结果才发现,我们已经安装了 react-native-camera,它使用 play-services-vision 并已实施在它自己的 build.gradle
中。所以现在,我们脑子里的灯泡熄灭了,我们也在我们自己的 build.gradle 中实现了 react-native-camera。像这样
implementation project(':react-native-camera')
。为什么不让它停止尝试从我们这端实施 play-services-vision-face-contour-internal?
这样就得出了解决方案,
implementation (project(':react-native-camera')) {
exclude module: 'play-services-vision-face-contour-internal'
}
这样一来,重复的错误就不再显示了,我们可以安心地继续开发了。
我知道这里没有太多的技术知识,只是为了让有人在遇到这样的事情时也可以研究一下这样的事情。我不知道这是否有意义