Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity的Android插件的依赖项与Unity jar解析器下载的依赖项冲突_Android_Unity3d - Fatal编程技术网

Unity的Android插件的依赖项与Unity jar解析器下载的依赖项冲突

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

在这种情况下,我试图在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.+'
    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导入的某个包已经包含了相同的依赖项

我能想到的两种情况是,我的答案是垃圾:

  • 冲突不是由于相同依赖项之间的冲突,而是由于名称空间之间的冲突

  • 您不能删除这两个依赖项中的任何一个,因为它们只是重叠的,但它们都包含您需要的更多内容,而这还没有包含在另一个依赖项中


谢谢。你的洞察力为我指明了正确的方向。我删除了一些依赖项,现在没有错误。