程序类型已存在:当我在 Android 本机项目(使用 ARCore)中使用 Unity 库(使用 ARCore)时出现 android.media.VisibleImage 错误

Program type already present: android.media.VisibleImage error when I am Using Unity library (With ARCore) in Android native project (With ARCore)

我正在尝试使用 ARcore 构建应用程序。一切正常,但我无法在 Android 本机应用程序中实现某些要求,因此我们为此选择了 Unity。我们已经在 Unity library Project 中实现了 ARCore。然后我们将该 Unity 库项目实施到 Android 基本应用程序(没有 ARCore 的本机应用程序)中。它工作正常,但如果我在 Native Android 项目中使用 ARCore 实现统一库项目,我会遇到冲突错误。

这是我的应用依赖项:

dependencies {
    // ARCore library
    implementation 'com.google.ar:core:1.1.0'

    // Obj - a simple Wavefront OBJ file loader
    // https://github.com/javagl/Obj
    implementation 'de.javagl:obj:0.2.1'
    implementation project(':unity_ar_library')
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support:design:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'

    implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
}

这是统一库依赖:

 implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation project(':arcore_client')
    implementation project(':google_ar_required')
    implementation project(':unitygar')
    implementation project(':unityandroidpermissions') 

我收到这个错误:

Program type already present: android.media.VisibleImage$Plane
Message{kind=ERROR, text=Program type already present: android.media.VisibleImage$Plane, sources=[Unknown source file], tool name=Optional.of(D8)}

Caused by: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: E:\AR_New\arcore-android-sdk-master\samples\hello_ar_java\app\build\intermediates\transforms\dexBuilder\debug, E:\AR_New\arcore-android-sdk-master\samples\hello_ar_java\app\build\intermediates\transforms\externalLibsDexMerger\debug[=14=], E:\AR_New\arcore-android-sdk-master\samples\hello_ar_java\app\build\intermediates\transforms\dexBuilder\debug.jar, E:\AR_New\arcore-android-sdk-master\samples\hello_ar_java\app\build\intermediates\transforms\dexBuilder\debug.jar, E:\AR_New\arcore-android-sdk-master\samples\hello_ar_java\app\build\intermediates\transforms\dexBuilder\debug.jar, E:\AR_New\arcore-android-sdk-master\samples\hello_ar_java\app\build\intermediates\transforms\dexBuilder\debug.jar, E:\AR_New\arcore-android-sdk-master\samples\hello_ar_java\app\build\intermediates\transforms\dexBuilder\debug.jar

Caused by: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: E:\AR_New\arcore-android-sdk-master\samples\hello_ar_java\app\build\intermediates\transforms\dexBuilder\debug, E:\AR_New\arcore-android-sdk-master\samples\hello_ar_java\app\build\intermediates\transforms\externalLibsDexMerger\debug[=14=], E:\AR_New\arcore-android-sdk-master\samples\hello_ar_java\app\build\intermediates\transforms\dexBuilder\debug.jar, E:\AR_New\arcore-android-sdk-master\samples\hello_ar_java\app\build\intermediates\transforms\dexBuilder\debug.jar, E:\AR_New\arcore-android-sdk-master\samples\hello_ar_java\app\build\intermediates\transforms\dexBuilder\debug.jar, E:\AR_New\arcore-android-sdk-master\samples\hello_ar_java\app\build\intermediates\transforms\dexBuilder\debug.jar, E:\AR_New\arcore-android-sdk-master\samples\hello_ar_java\app\build\intermediates\transforms\dexBuilder\debug.jar

com.android.tools.r8.CompilationFailedException: Compilation failed to complete 

com.android.tools.r8.utils.AbortException   

您可以告诉我是否还有其他要补充的内容以了解我在做什么或哪里错了。

我尝试更改 Android 支持库版本,但没有帮助。

如果我删除 Unity 项目,我的原生 ARCore 项目将正常运行。如果 我在另一个原生 android 应用程序(没有 ARCore)中使用 Unity Library AR 核心项目,它工作正常。

正如我在问题中提到的,我在我的本机应用程序中使用了 1.1.0 AR Core 版本。

 // ARCore library
    implementation 'com.google.ar:core:1.1.0'

在 unity Android 库中,他们也使用相同的 1.1.0 版本

我们已尝试将 Ar 核心版本降级到 1.0.0(在 android 本机应用程序和 unity 库中),然后 android.media.VisibleImage 错误已解决。

上述错误仅发生在 1.1.0 AR 核心版本