android studio v4包冲突

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android studio v4包冲突相关的知识,希望对你有一定的参考价值。

android studio 系统提供了一个v4包。而我的项目中引用第三方控件会使用一个自定义的v4包,编译没问题。运行中报错:
Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
D:\Android\sdk\android-sdk\build-tools\21.1.1\dx.bat --dex --no-optimize --output D:\FindGameForAndroidStudio\FindGame\app\build\intermediates\dex\debug --input-list=D:\FindGameForAndroidStudio\FindGame\app\build\intermediates\tmp\dex\debug\inputList.txt
Error Code:
2
Output:
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompatIcs;
at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:302)
at com.android.dx.command.dexer.Main.run(Main.java:245)
at com.android.dx.command.dexer.Main.main(Main.java:214)
at com.android.dx.command.Main.main(Main.java:106)

参考技术A 这情况肯定是某个第三方的library引入同样的jar包,自己耐心多找找就可以了。 参考技术B 兄弟就解决了么,求指教

Android Studio版本冲突/谷歌地图

错误:任务':app:processDebugGoogleServices'的执行失败。

请通过更新google-services插件的版本(有关最新版本的信息可在https://bintray.com/android/android-tools/com.google.gms.google-services/获取)或将com.google.android.gms的版本更新为9.0.0来修复版本冲突。

在尝试将谷歌地图实施到我的项目时,我一直收到此错误,有关如何修复它的任何想法?

以下是目前的代码......

dependencies {

    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation 'com.android.support:design:26.1.0'

    implementation 'com.google.android.gms:play-services-maps:11.6.2'
    compile 'com.google.android.gms:play-services-auth:9.0.0'

    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'

}
答案

这两个依赖项:

implementation 'com.google.android.gms:play-services-maps:11.6.2'
compile 'com.google.android.gms:play-services-auth:9.0.0'

必须是相同的版本。这样可行:

implementation 'com.google.android.gms:play-services-maps:11.6.2'
implementation 'com.google.android.gms:play-services-auth:11.6.2'//using implementation instead of compile. compile is deprecated

请注意,这适用于所有播放服务依赖项。还有其他依赖项(尽管你没有使用它们)。无论您安装的游戏服务组件是什么,它们都必须具有相同的版本

您设置的实际版本由您决定,但它们都必须匹配。他们都可以成为9.0.0

另一答案

尝试将两种Google依赖项设置为11.6.0(如果可用,则设置为11.6.2):

implementation 'com.google.android.gms:play-services-maps:11.6.0'
implementation 'com.google.android.gms:play-services-auth:11.6.0'

以上是关于android studio v4包冲突的主要内容,如果未能解决你的问题,请参考以下文章

V4或者V7包重复冲突,但是不知道删除那个的问题

android studio 引用aar包 出现文件冲突

androidStudio V4包冲突问题以及解决方案

Android Studio中app与library包冲突问题

Android Studio DrawerLayout控件在v4包中找不到

关于第三方的v4包冲突问题。。