正在获取 com.android.build.api.transform.TransformException:生成主 dex 列表时出错。关于添加地点sdk

Getting com.android.build.api.transform.TransformException: Error while generating the main dex list. on adding places sdk

当我将新的 google places sdk 添加到我的应用程序时,我开始遇到这个错误。这是完整的堆栈跟踪

java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: xyz[removed name]/build/intermediates/transforms/dexBuilder/debug/0, 
Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.
Program type already present: com.android.volley.ParseError
    at com.android.builder.dexing.D8DexArchiveMerger.getExceptionToRethrow(D8DexArchiveMerger.java:132)
    at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:117)
    at com.android.build.gradle.internal.transforms.DexMergerTransformCallable.call(DexMergerTransformCallable.java:101)
    at com.android.build.gradle.internal.transforms.DexMergerTransformCallable.call(DexMergerTransformCallable.java:36)
    at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
    ... 4 more
Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete
    at com.android.tools.r8.utils.ExceptionUtils.withCompilationHandler(ExceptionUtils.java:65)
    at com.android.tools.r8.utils.ExceptionUtils.withD8CompilationHandler(ExceptionUtils.java:43)
    at com.android.tools.r8.D8.run(D8.java:90)
    at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:115)
    ... 7 more
Caused by: com.android.tools.r8.utils.AbortException: Error: Program type already present: com.android.volley.ParseError
    at com.android.tools.r8.utils.Reporter.failIfPendingErrors(Reporter.java:116)
    at com.android.tools.r8.utils.Reporter.fatalError(Reporter.java:74)
    at com.android.tools.r8.utils.ExceptionUtils.withCompilationHandler(ExceptionUtils.java:59)
    ... 10 more

这些是导入(只包括相关的,完整列表很大)

implementation 'com.google.android.gms:play-services-auth:16.0.1'
implementation 'com.google.android.gms:play-services-base:16.1.0'
implementation 'com.google.android.gms:play-services-maps:16.1.0'
implementation 'com.google.android.gms:play-services-identity:16.0.0'
implementation 'com.google.android.gms:play-services-location:16.0.0'
implementation 'com.google.android.gms:play-services-places:16.1.0'
implementation 'com.google.android.gms:play-services-nearby:16.0.0'
implementation 'com.google.android.gms:play-services-gcm:16.1.0'

implementation 'com.google.android.libraries.places:places:1.1.0'

我还将 multidex 启用设置为 true。我试过 cleanInavlidate Caches/Restart,重新启动 Studio。将不胜感激任何建议。谢谢!!

编辑:添加完整的依赖块

implementation 'com.google.code.gson:gson:2.8.2'
    implementation 'com.mcxiaoke.volley:library:1.0.18'
    implementation 'com.android.support:multidex:1.0.3'
    implementation files('libs/gcm.jar')
    // Facebook SDK Core only (Analytics)
    implementation 'com.facebook.android:facebook-core:4.33.0'
    // Facebook Login only
    implementation 'com.facebook.android:facebook-login:4.33.0'
    implementation 'com.braintreepayments.api:braintree:2.14.2'
    implementation 'com.braintreepayments.api:drop-in:3.4.0'
    implementation 'com.android.support:support-v4:27.1.1'
    implementation 'com.android.support:customtabs:27.1.1'
    implementation 'com.android.support:animated-vector-drawable:27.1.1'
    /**
     * Google
     */
    implementation 'com.google.android.gms:strict-version-matcher-plugin:1.1.0'
    implementation 'com.google.android.gms:play-services-auth:16.0.1'
    implementation 'com.google.android.gms:play-services-base:16.1.0'
    implementation 'com.google.android.gms:play-services-maps:16.1.0'
    implementation 'com.google.android.gms:play-services-identity:16.0.0'
    implementation 'com.google.android.gms:play-services-location:16.0.0'
    implementation 'com.google.android.gms:play-services-places:16.1.0'
    implementation 'com.google.android.gms:play-services-nearby:16.0.0'
    implementation 'com.google.android.gms:play-services-gcm:16.1.0'
    implementation 'com.android.support:mediarouter-v7:27.1.1'
    implementation 'com.google.android:flexbox:0.3.2'
    //compile files('libs/splunk-mint-4.2.1.jar')
    implementation 'com.android.support:design:27.1.1'
    // CardView
    implementation 'com.android.support:cardview-v7:27.1.1'
    implementation 'com.pixplicity.multiviewpager:library:1.0'
    implementation 'com.github.aakira:expandable-layout:1.4.1@aar'
    implementation 'me.everything:overscroll-decor-android:1.0.4'
    implementation 'org.apache.httpcomponents:httpmime:4.5.2'
    implementation 'commons-net:commons-net:3.3'
    implementation 'com.android.support:percent:27.1.1'
    /*For Request Server*/
    implementation 'com.squareup.okhttp3:logging-interceptor:3.9.1'
    implementation 'com.squareup.retrofit2:retrofit:2.3.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
    implementation 'com.squareup.retrofit2:adapter-rxjava:2.3.0'
    implementation 'com.artemzin.rxjava:proguard-rules:1.1.6.0'
    /**
     * Animation.
     */
    implementation 'com.nineoldandroids:library:2.4.0'
    implementation 'com.daimajia.easing:library:1.0.1@aar'
    implementation 'com.daimajia.androidanimations:library:1.1.3@aar'
    implementation 'net.soulwolf.widget:ratiolayout:1.0.0'
    implementation 'com.jakewharton:butterknife:8.5.1'
    kapt 'com.jakewharton:butterknife-compiler:8.5.1'
    /**
     * Event Bus.
     */
    implementation 'org.greenrobot:eventbus:3.0.0'
    implementation 'com.wefika:flowlayout:0.4.1'
    /**
     * Ring capcha
     */
    implementation 'com.thrivecom:ringcaptcha:1.0.11@aar'
    /**
     * Zendesk
     */
    implementation 'com.zopim.android:sdk:1.3.7.1'
    implementation 'com.zendesk:support:2.0.0'
    implementation('com.twitter.sdk.android:twitter:3.3.0@aar') {
        transitive = true
    }
    implementation('com.crashlytics.sdk.android:crashlytics:2.9.3@aar') {
        transitive = true
    }
    implementation('io.fabric.sdk.android:fabric:1.3.12@aar') {
        transitive = true
    }
    implementation 'io.branch.sdk.android:library:3.1.0'
    implementation 'com.mixpanel.android:mixpanel-android:5.+'
    implementation 'com.yqritc:android-scalablevideoview:1.0.4'
    implementation 'com.android.support:cardview-v7:27.1.1'
    implementation 'com.android.support:recyclerview-v7:27.1.1'
    implementation 'com.google.dagger:dagger:2.12'
    kapt 'com.google.dagger:dagger-compiler:2.11'
    implementation 'com.google.dagger:dagger-android-support:2.11'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    kapt 'com.google.dagger:dagger-android-processor:2.11'
    // ViewModel and LiveData
    implementation 'android.arch.lifecycle:extensions:1.1.1'
    kapt "android.arch.lifecycle:compiler:1.1.1"
    // Room
    implementation 'android.arch.persistence.room:runtime:1.1.1'
    kapt "android.arch.persistence.room:compiler:1.1.1"
    // Paging
    implementation 'android.arch.paging:runtime:1.0.1'
    implementation 'com.jakewharton.timber:timber:4.6.0'
    // Test helpers for LiveData
    testImplementation 'android.arch.core:core-testing:1.1.1'
    // Test helpers for Room
    testImplementation 'android.arch.persistence.room:testing:1.1.1'
    implementation 'org.apache.commons:commons-lang3:3.6'
    implementation 'com.github.bumptech.glide:glide:4.5.0'
    kapt 'com.github.bumptech.glide:compiler:4.4.0'
    implementation 'com.github.rubensousa:gravitysnaphelper:1.5'
    implementation 'me.everything:overscroll-decor-android:1.0.4'
    implementation 'com.github.bumptech.glide:recyclerview-integration:4.4.0'
    implementation 'io.reactivex.rxjava2:rxjava:2.1.8'
    implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
    implementation 'android.arch.persistence.room:runtime:1.1.1'
    implementation 'android.arch.persistence.room:rxjava2:1.1.1'
    implementation 'android.arch.lifecycle:reactivestreams:1.1.1'
    implementation 'com.github.zcweng:switch-button:0.0.3@aar'
    implementation 'com.shuhart.bubblepagerindicator:bubblepagerindicator:1.0.6'
    implementation 'com.iarcuschin:simpleratingbar:0.1.5'
    implementation 'co.omise:omise-android:2.6.4'
    implementation 'com.airbnb.android:lottie:2.5.4'
    implementation 'com.adjust.sdk:adjust-android:4.13.0'
    implementation 'com.android.installreferrer:installreferrer:1.0'
    implementation 'io.card:android-sdk:5.5.1'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'android.arch.persistence.room:testing:1.1.1'
    androidTestImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test:rules:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-contrib:3.0.2'
    androidTestImplementation 'org.mockito:mockito-core:2.7.19'
    androidTestImplementation 'org.mockito:mockito-android:2.7.19'
    implementation 'net.cachapa.expandablelayout:expandablelayout:2.9.2'
    implementation project(':menu')
    implementation project(':base')
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'com.google.firebase:firebase-perf:16.2.0'
    implementation 'com.google.firebase:firebase-core:16.0.4'
    implementation 'com.google.firebase:firebase-analytics:16.0.4'
    implementation 'com.google.firebase:firebase-appindexing:16.0.2'
    implementation 'com.google.firebase:firebase-messaging:17.3.4'
    implementation 'com.google.android.instantapps:instantapps:1.1.0'
    implementation 'com.romandanylyk:pageindicatorview:1.0.2'
    implementation 'com.airbnb.android:lottie:2.5.4'
    implementation 'me.grantland:autofittextview:0.2.+'
    //OTP
    implementation 'com.poovam:pin-edittext-field:1.1.2'
    implementation 'jp.wasabeef:glide-transformations:4.0.1'
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'de.hdodenhof:circleimageview:3.0.0'
    implementation 'com.braintreepayments.api:data-collector:2.22.0'

    //Applozic
    implementation 'com.applozic.communication.uiwidget:mobicomkitui:5.33'
    //Places SDK
    implementation 'com.google.android.libraries.places:places:1.1.0'

您需要将 Places SDK 迁移到新版本,请遵循此迁移指南:Migrating to the New Places SDK Client。 里面说当adding:

implementation 'com.google.android.libraries.places:places:1.1.0'

应该删除:

implementation 'com.google.android.gms:play-services-places:16.0.0'

16.1.0应该也是这样。

Program type already present: com.android.volley.ParseError

此错误通常意味着您有两个依赖项都提供相同的 class,导致冲突。

您可以 运行 ./gradlew app:dependencies 列出项目中包含的所有库的所有依赖项。有了这个,您可以找出具有共同依赖关系的库。