实施 Vimeo 网络时出错

Error implementing Vimeo-networking

我尝试了很多不同的方法来将 Vimeo 网络连接到我的应用程序中,但没有任何效果。如果我删除实现,它就可以正常工作,所以我知道这就是问题所在。 compile 'com.vimeo.networking:vimeo-networking:1.1.1'

给我这个错误

Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'. > java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex

我找遍了,但还没有找到解决方案(是的,我尝试过清理和重建项目)

我相信这是 vimeo-networking 库的结果,包括一个您也单独包含在 gradle 文件中的依赖项。 Looking at the gradle file for a hint,主要嫌疑人是 intellij annotations jar 'com.intellij:annotations:12.0@jar' 依赖项,我发现当它也包含在您的主项目和子项目中时会导致类似的问题。

解决方法是在vimeo-networking库中编译时排除注解jar如下:

compile ('com.vimeo.networking:vimeo-networking:1.1.1') {
    exclude group: 'org.jetbrains', module: 'annotations'
}

试试这个,看看它是否修复了您的构建异常。通常我看到 Unable to merge dex 错误的原因是在最终的 dex 文件中有相同 class 的多个定义,通常是多次包含一个 jar 文件造成的。

解决方案:anthonycr 的回答很完美,但我也不得不这样做:

implementation ("org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version") {
    exclude group: 'org.jetbrains', module: 'annotations'
}

implementation ('com.vimeo.networking:vimeo-networking:1.1.1') {
    exclude group: 'org.jetbrains', module: 'annotations'
}