我正在尝试使用ARcore构建应用。一切正常,但我无法在Android Native应用程序中实现一些要求,因此我们选择了Unity。我们在Unity库项目中实现了ARCore。然后我们将Unity库项目实现到Android基本应用程序(没有ARCore的Native应用程序)。它工作正常,但如果我在使用ARCore的Native Android项目中实现统一库项目,我会收到冲突错误。
这是我的应用依赖:
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\32, E:\AR_New\arcore-android-sdk-master\samples\hello_ar_java\app\build\intermediates\transforms\externalLibsDexMerger\debug\0, E:\AR_New\arcore-android-sdk-master\samples\hello_ar_java\app\build\intermediates\transforms\dexBuilder\debug\26.jar, E:\AR_New\arcore-android-sdk-master\samples\hello_ar_java\app\build\intermediates\transforms\dexBuilder\debug\27.jar, E:\AR_New\arcore-android-sdk-master\samples\hello_ar_java\app\build\intermediates\transforms\dexBuilder\debug\29.jar, E:\AR_New\arcore-android-sdk-master\samples\hello_ar_java\app\build\intermediates\transforms\dexBuilder\debug\30.jar, E:\AR_New\arcore-android-sdk-master\samples\hello_ar_java\app\build\intermediates\transforms\dexBuilder\debug\31.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\32, E:\AR_New\arcore-android-sdk-master\samples\hello_ar_java\app\build\intermediates\transforms\externalLibsDexMerger\debug\0, E:\AR_New\arcore-android-sdk-master\samples\hello_ar_java\app\build\intermediates\transforms\dexBuilder\debug\26.jar, E:\AR_New\arcore-android-sdk-master\samples\hello_ar_java\app\build\intermediates\transforms\dexBuilder\debug\27.jar, E:\AR_New\arcore-android-sdk-master\samples\hello_ar_java\app\build\intermediates\transforms\dexBuilder\debug\29.jar, E:\AR_New\arcore-android-sdk-master\samples\hello_ar_java\app\build\intermediates\transforms\dexBuilder\debug\30.jar, E:\AR_New\arcore-android-sdk-master\samples\hello_ar_java\app\build\intermediates\transforms\dexBuilder\debug\31.jar
com.android.tools.r8.CompilationFailedException: Compilation failed to complete
com.android.tools.r8.utils.AbortException
你可以告诉我是否还有其他东西需要补充,以了解我在做什么或我错在哪里。
我尝试更改Android支持库版本,但没有帮助。
如果我删除Unity项目,我的本机ARCore项目正在运行。如果 我在另一个原生Android应用程序(没有ARCore)中使用Unity Library AR核心项目,它运行正常。
答案 0 :(得分:2)
正如我在我的问题中提到的,我在我的原生应用程序中使用了1.1.0
AR Core版本。
// ARCore library
implementation 'com.google.ar:core:1.1.0'
在统一Android库中,他们也使用相同的1.1.0
版本
我们已经尝试将Ar核心版本降级到1.0.0(在Android本机应用程序中以及在统一库中),然后解决了android.media.VisibleImage
错误。
上述错误仅发生在1.1.0
AR核心版本