Unity的Android插件的依赖项与Unity jar解析器下载的依赖项冲突
在这种情况下,我试图在Unity内部使用MLKit。当然,我制作了一个Android插件。以下是Gradle依赖项:Unity的Android插件的依赖项与Unity jar解析器下载的依赖项冲突,android,unity3d,Android,Unity3d,在这种情况下,我试图在Unity内部使用MLKit。当然,我制作了一个Android插件。以下是Gradle依赖项: dependencies { implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'com.google.android.material:material:1.3.0' testImplementation 'junit:junit:4.+' androidTest
dependencies {
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.3.0'
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
implementation "androidx.camera:camera-camera2:1.1.0-alpha02"
implementation "com.google.mlkit:pose-detection:17.0.1-beta3"
}
然后我使用
task copyPlugin(type: Copy) {
dependsOn assemble
from ('build/outputs/aar')
into ('../../../Assets/Plugins/Android')
include (project.name + '-release.aar')
}
接下来发生的事情是Unity无法访问androidx.camera:camera-camera2:1.1.0-alpha02或com.google.mlkit:pose detection:17.0.1-beta3
。因此,我必须使用unity jar resolver下载依赖项,以便unity将它们与生成的应用程序链接。我原以为一切都会成功,但现在依赖关系似乎发生了冲突。你能告诉我这方面的情况吗?以下是Unity构建错误:
* What went wrong:
Execution failed for task ':launcher:checkDebugDuplicateClasses'.
> 1 exception was raised by workers:
java.lang.RuntimeException: java.lang.RuntimeException: Duplicate class androidx.camera.camera2.Camera2Config found in modules PoseDetector-release-runtime.jar (:PoseDetector-release:) and androidx.camera.camera-camera2-1.1.0-alpha02-runtime.jar (:androidx.camera.camera-camera2-1.1.0-alpha02:)
Duplicate class androidx.camera.camera2.Camera2Config$DefaultProvider found in modules PoseDetector-release-runtime.jar (:PoseDetector-release:) and androidx.camera.camera-camera2-1.1.0-alpha02-runtime.jar (:androidx.camera.camera-camera2-1.1.0-alpha02:)
Duplicate class androidx.camera.camera2.impl.Camera2CameraCaptureResultConverter found in modules PoseDetector-release-runtime.jar (:PoseDetector-release:) and androidx.camera.camera-camera2-1.1.0-alpha02-runtime.jar (:androidx.camera.camera-camera2-1.1.0-alpha02:)
正如错误消息所提示的,相同的内容可能存在于两个独立的依赖项中:once-in:PoseDetector release:“和once-in:androidx.camera.camera-camera2-1.1.0-alpha02:” 我以前遇到过这个问题,并且能够解决它。有时,找出要删除哪些依赖项需要更长的时间 这个错误的解决方案是删除其中一个重复的依赖项,在我的例子中,我相信这是删除了我项目资产文件夹中某个SDK的android插件文件夹,因为我下载并通过unity package manager导入的某个包已经包含了相同的依赖项 我能想到的两种情况是,我的答案是垃圾:
- 冲突不是由于相同依赖项之间的冲突,而是由于名称空间之间的冲突
- 您不能删除这两个依赖项中的任何一个,因为它们只是重叠的,但它们都包含您需要的更多内容,而这还没有包含在另一个依赖项中