Build errores después de actualizar las dependencias de Gradle. El sospechoso # 1 es firebase

Tengo una aplicación que funciona bien, pero comienza a fallar tan pronto como intento actualizar algunas dependencias de Gradle, mientras que el principal sospechoso es firebase.

Este es el error que recibo:

Causado por: com.android.builder.multidex.D8MainDexList $ MainDexListException: com.android.tools.r8.errors.CompilationError: Tipo de programa ya presente: com.google.android.gms.internal.measurement.zzdz

Y este es el git diff para mi proyecto, que muestra las diferencias en los archivos de Gradle:

diff --git a/android/build.gradle b/android/build.gradle
index 9f63f745..08fda2eb 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -81,8 +81,8 @@ dependencies {
     implementation "com.badlogicgames.gdx:gdx-backend-android:$gdxVersion"
     implementation "com.badlogicgames.gdx:gdx-freetype:$gdxVersion"
     implementation "com.android.billingclient:billing:$playBillingLibVersion"
-    implementation "com.google.firebase:firebase-core:16.0.3"
-    implementation "com.google.firebase:firebase-ads:15.0.1"
+    implementation "com.google.firebase:firebase-core:16.0.5"
+    implementation "com.google.firebase:firebase-ads:17.0.0"
     implementation 'com.crashlytics.sdk.android:crashlytics:2.9.5'

     implementation fileTree(include: ['*.jar'], dir: 'libs')
diff --git a/android_common/build.gradle b/android_common/build.gradle
index f8224509..3a5d45e1 100644
--- a/android_common/build.gradle
+++ b/android_common/build.gradle
@@ -19,7 +19,7 @@ android {
         androidTest.setRoot('tests')
     }
     defaultConfig {
-        minSdkVersion 15
+        minSdkVersion 16
         targetSdkVersion 28
         versionCode 1
         versionName "1.0"
@@ -65,8 +65,8 @@ dependencies {
     natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-x86"
     natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-x86_64"
     implementation "com.android.billingclient:billing:$playBillingLibVersion"
-    implementation "com.google.firebase:firebase-core:16.0.3"
-    implementation "com.google.firebase:firebase-ads:15.0.1"
+    implementation "com.google.firebase:firebase-core:16.0.5"
+    implementation "com.google.firebase:firebase-ads:17.0.0"

     implementation fileTree(include: ['*.jar'], dir: 'libs')
     testImplementation 'junit:junit:4.12'
diff --git a/android_instant_feature/build.gradle b/android_instant_feature/build.gradle
index 30431c11..17c4ef27 100644
--- a/android_instant_feature/build.gradle
+++ b/android_instant_feature/build.gradle
@@ -18,7 +18,7 @@ android {
     defaultConfig {
         versionCode 4031
         versionName "4.1.2.1i"
-        minSdkVersion 15
+        minSdkVersion 16
         targetSdkVersion 28
         multiDexEnabled true
     }
@@ -77,8 +77,8 @@ dependencies {
     api 'com.android.support:multidex:1.0.3'
     implementation "com.badlogicgames.gdx:gdx-backend-android:$gdxVersion"
     implementation "com.badlogicgames.gdx:gdx-freetype:$gdxVersion"
-    implementation "com.google.firebase:firebase-core:16.0.3"
-    implementation 'com.google.android.gms:play-services-instantapps:16.0.0'
+    implementation "com.google.firebase:firebase-core:16.0.5"
+    implementation 'com.google.android.gms:play-services-instantapps:16.0.1'

     implementation fileTree(dir: 'libs', include: ['*.jar'])
 }
diff --git a/core/build.gradle b/core/build.gradle
index dd2640cf..5694a1da 100644
--- a/core/build.gradle
+++ b/core/build.gradle
@@ -15,7 +15,7 @@ dependencies {
     compile group: 'commons-io', name: 'commons-io', version: '2.6'
     // https://mvnrepository.com/artifact/commons-codec/commons-codec
     compile group: 'commons-codec', name: 'commons-codec', version: '1.11'
-    compile 'com.google.code.gson:gson:2.8.2'
+    compile 'com.google.code.gson:gson:2.8.5'
     compile group: 'org.apache.commons', name: 'commons-text', version: '1.2'
     compile group: 'org.apache.commons', name: 'commons-collections4', version: '4.1'
     compile group: 'org.jetbrains', name: 'annotations', version: '16.0.1'
@@ -23,7 +23,7 @@ dependencies {
     implementation "com.badlogicgames.gdx:gdx-freetype:$gdxVersion"

     testCompile 'junit:junit:4.12'
-    testCompile 'org.mockito:mockito-core:2.7.22'
+    testCompile 'org.mockito:mockito-core:2.8.9'
     testCompile group: 'org.powermock', name: 'powermock-api-mockito2', version: '1.7.3'
     testCompile group: 'org.powermock', name: 'powermock-module-junit4', version: '1.7.3'
 }

Por favor, tenga en cuenta que algunos de estos cambios, como la minSDKVersion, pueden descartarse como la fuente del error. Parece más probable que esté relacionado con firebase. ¿Por qué? Bueno, entre otras cosas, hay otras preguntas en Stackoverflow en las que ese es el caso, sin embargo, la solución propuesta en todas estas es actualizar las dependencias de Firebase a la última versión,@ pero actualizar las dependencias de Firebase a la última versión es lo que parece estar causando el problema en mi proyecto! Con las versiones anteriores simplemente funciona bien.

Estos son los contenidos de los scripts de Gradle involucrados (he reemplazado el ID de aplicación real con 'com.myapp.id')

:núcle

apply plugin: "java"

targetCompatibility = 1.8
sourceCompatibility = 1.8
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'

sourceSets.main.java.srcDirs = ["src/main"]
sourceSets.test.java.srcDirs = ["src/test"]

dependencies {
    compile 'commons-io:commons-io:2.6'
    compile 'commons-codec:commons-codec:1.11'
    compile 'com.google.code.gson:gson:2.8.5'
    compile 'org.apache.commons:commons-text:1.2'
    compile 'org.apache.commons:commons-collections4:4.1'
    compile 'org.jetbrains:annotations:16.0.1'
    compile "com.badlogicgames.gdx:gdx:1.9.9-SNAPSHOT"
    compile "com.badlogicgames.gdx:gdx-freetype:1.9.9-SNAPSHOT"

    testCompile 'junit:junit:4.12'
    testCompile 'org.mockito:mockito-core:2.8.9'
    testCompile 'org.powermock:powermock-api-mockito2:1.7.3'
    testCompile 'org.powermock:powermock-module-junit4:1.7.3'
}


repositories {
    mavenCentral()
}

jar {
    duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}

: android_common

apply plugin: "com.android.feature"

configurations { natives }

android {
    baseFeature true
    compileSdkVersion 28
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
            jniLibs.srcDirs = ['libs']
        }

        androidTest.setRoot('tests')
    }
    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        sourceSets {
            all {
                manifest.srcFile "AndroidManifest.xml"
            }
        }
        multiDexEnabled true
    }
    buildTypes {
        release {
            setMinifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    buildToolsVersion '28.0.2'
    lintOptions {
        abortOnError false
    }
    dexOptions {
        jumboMode true
    }
}

dependencies {
    application project(':android')
    feature project(':android_instant_feature')
    api project(':core')
    api 'com.android.support:multidex:1.0.3'
    implementation "com.badlogicgames.gdx:gdx-backend-android:1.9.9-SNAPSHOT"
    natives "com.badlogicgames.gdx:gdx-platform:1.9.9-SNAPSHOT:natives-armeabi"
    natives "com.badlogicgames.gdx:gdx-platform:1.9.9-SNAPSHOT:natives-armeabi-v7a"
    natives "com.badlogicgames.gdx:gdx-platform:1.9.9-SNAPSHOT:natives-arm64-v8a"
    natives "com.badlogicgames.gdx:gdx-platform:1.9.9-SNAPSHOT:natives-x86"
    natives "com.badlogicgames.gdx:gdx-platform:1.9.9-SNAPSHOT:natives-x86_64"
    implementation "com.badlogicgames.gdx:gdx-freetype:1.9.9-SNAPSHOT"
    natives "com.badlogicgames.gdx:gdx-freetype-platform:1.9.9-SNAPSHOT:natives-armeabi"
    natives "com.badlogicgames.gdx:gdx-freetype-platform:1.9.9-SNAPSHOT:natives-armeabi-v7a"
    natives "com.badlogicgames.gdx:gdx-freetype-platform:1.9.9-SNAPSHOT:natives-arm64-v8a"
    natives "com.badlogicgames.gdx:gdx-freetype-platform:1.9.9-SNAPSHOT:natives-x86"
    natives "com.badlogicgames.gdx:gdx-freetype-platform:1.9.9-SNAPSHOT:natives-x86_64"
    implementation "com.android.billingclient:billing:dp-1"
    implementation "com.google.firebase:firebase-core:16.0.5"
    implementation "com.google.firebase:firebase-ads:17.0.0"

    implementation fileTree(include: ['*.jar'], dir: 'libs')
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.google.guava:guava:24.0-android'
}

task copyAndroidNatives() {
    file("libs/armeabi/").mkdirs();
    file("libs/armeabi-v7a/").mkdirs();
    file("libs/arm64-v8a/").mkdirs();
    file("libs/x86_64/").mkdirs();
    file("libs/x86/").mkdirs();

    configurations.natives.files.each { jar ->
        def outputDir = null
        if (jar.name.endsWith("natives-arm64-v8a.jar")) outputDir = file("libs/arm64-v8a")
        if (jar.name.endsWith("natives-armeabi-v7a.jar")) outputDir = file("libs/armeabi-v7a")
        if (jar.name.endsWith("natives-armeabi.jar")) outputDir = file("libs/armeabi")
        if (jar.name.endsWith("natives-x86_64.jar")) outputDir = file("libs/x86_64")
        if (jar.name.endsWith("natives-x86.jar")) outputDir = file("libs/x86")
        if (outputDir != null) {
            copy {
                from zipTree(jar)
                into outputDir
                include "*.so"
            }
        }
    }
}

:android

apply plugin: "com.android.application"
apply plugin: 'io.fabric' // Needed by crashlytics. DO NOT REMOVE.

android {
    buildToolsVersion "28.0.2"
    compileSdkVersion 28
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ["${project(':android_common').projectDir}/res"]
            assets.srcDirs = ['assets']
            jniLibs.srcDirs = ['libs']
        }

        androidTest.setRoot('tests')
    }
    defaultConfig {
        applicationId "com.myapp.id"
        versionCode 4032
        versionName "4.1.2.1"
        minSdkVersion 16
        targetSdkVersion 28
        multiDexEnabled true
    }
    dexOptions {
        jumboMode true
    }
    // Proguard configuration
    buildTypes {
        release {
            //minifyEnabled true will turn proguard ON
            minifyEnabled true
            //proguardFiles let you add your own proguard rules ('proguard-project.txt') in this case, as its already created by gdx-setup
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    productFlavors {
    }
    lintOptions {
        abortOnError false
    }
}

task importPuzzles(type: Exec) {
    // TODO
}

task run(type: Exec) {
    def path
    def localProperties = project.file("../local.properties")
    if (localProperties.exists()) {
        Properties properties = new Properties()
        localProperties.withInputStream { instr ->
            properties.load(instr)
        }
        def sdkDir = properties.getProperty('sdk.dir')
        if (sdkDir) {
            path = sdkDir
        } else {
            path = "$System.env.ANDROID_HOME"
        }
    } else {
        path = "$System.env.ANDROID_HOME"
    }

    def adb = path + "/platform-tools/adb"
    commandLine "$adb", 'shell', 'am', 'start', '-n', 'com.myapp.id/com.myapp.id.AndroidLauncher'
}

dependencies {
    implementation project(":android_common")
    api 'com.android.support:multidex:1.0.3'
    implementation "com.badlogicgames.gdx:gdx-backend-android:1.9.9-SNAPSHOT"
    implementation "com.badlogicgames.gdx:gdx-freetype:1.9.9-SNAPSHOT"
    implementation "com.android.billingclient:billing:dp-1"
    implementation "com.google.firebase:firebase-core:16.0.5"
    implementation "com.google.firebase:firebase-ads:17.0.0"
    implementation 'com.crashlytics.sdk.android:crashlytics:2.9.5'

    implementation fileTree(include: ['*.jar'], dir: 'libs')
}

// ADD THIS AT THE BOTTOM
apply plugin: 'com.google.gms.google-services'

: android_instant_feature

apply plugin: "com.android.feature"

android {
//    baseFeature true
    buildToolsVersion "28.0.2"
    compileSdkVersion 28
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ["${project(':android_common').projectDir}/res"]
            assets.srcDirs = ['assets']
            jniLibs.srcDirs = ['libs']
        }
    }
    defaultConfig {
        versionCode 4031
        versionName "4.1.2.1i"
        minSdkVersion 16
        targetSdkVersion 28
        multiDexEnabled true
    }

    dexOptions {
        jumboMode true
    }

    // Proguard configuration
    buildTypes {
        release {
            //minifyEnabled true will turn proguard ON
//            minifyEnabled true
            //proguardFiles let you add your own proguard rules ('proguard-project.txt') in this case, as its already created by gdx-setup
//            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
        }
        debug {}
    }


    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    productFlavors {
    }
    lintOptions {
        abortOnError false
    }
}

task run(type: Exec) {
    def path
    def localProperties = project.file("../local.properties")
    if (localProperties.exists()) {
        Properties properties = new Properties()
        localProperties.withInputStream { instr ->
            properties.load(instr)
        }
        def sdkDir = properties.getProperty('sdk.dir')
        if (sdkDir) {
            path = sdkDir
        } else {
            path = "$System.env.ANDROID_HOME"
        }
    } else {
        path = "$System.env.ANDROID_HOME"
    }

    def adb = path + "/platform-tools/adb"
    commandLine "$adb", 'shell', 'am', 'start', '-n', 'com.myapp.id/com.myapp.id.AndroidLauncher'
}

dependencies {
    implementation project(":android_common")
    api 'com.android.support:multidex:1.0.3'
    implementation "com.badlogicgames.gdx:gdx-backend-android:1.9.9-SNAPSHOT"
    implementation "com.badlogicgames.gdx:gdx-freetype:1.9.9-SNAPSHOT"
    implementation "com.google.firebase:firebase-core:16.0.5"
    implementation 'com.google.android.gms:play-services-instantapps:16.0.1'

    implementation fileTree(dir: 'libs', include: ['*.jar'])
}

// ADD THIS AT THE BOTTOM
apply plugin: 'com.google.gms.google-services'

Finalmente, esta es la estructura de mi proyecto. La parte más relevante ya que está relacionada con Android es la de arriba. A continuación, solo muestro cómo se relaciona con el módulo central.

Este es un juego libGDX y estoy trabajando con IntelliJ Idea, aunque esto no es relevante ya que obtengo estos errores con la compilación ./gradlew en la línea de comandos.

EDIT: degradé firebase-core de 16.0.5 a 16.0.4 según lo sugerido por TWL y funcionó, así que creo que es una solución aceptable, al menos mientras los chicos de firebase lanzan un firebase-core 16.0.6 más o menos realmente compatible con firebase-ads 17.0.0. El problema parece ser efectivamente que firebase-ads 17.0.0 se basa en una versión anterior de la biblioteca que está causando el error.

Mire estas salidas de dependencias:

Esto es lo que obtengo con firebase-core 16.0.4:

$ ./gradlew android_common:dependencies | grep measurement-base
<-------------> 0% EXECUTING [0s]
> :android_common:dependencies
|    |    |    +--- com.google.android.gms:play-services-measurement-base:16.0.3
|    |    |    |    +--- com.google.android.gms:play-services-measurement-base:16.0.3
|    |    +--- com.google.android.gms:play-services-measurement-base:16.0.3
|         +--- com.google.android.gms:play-services-measurement-base:16.0.3
|    |    |         \--- com.google.android.gms:play-services-measurement-base:16.0.3
|    |    |    +--- com.google.android.gms:play-services-measurement-base:16.0.3
|    |    |    |    +--- com.google.android.gms:play-services-measurement-base:16.0.3
|    |    +--- com.google.android.gms:play-services-measurement-base:16.0.3
|         +--- com.google.android.gms:play-services-measurement-base:16.0.3
|    |    |         \--- com.google.android.gms:play-services-measurement-base:16.0.3
|    |    |    +--- com.google.android.gms:play-services-measurement-base:16.0.3
|    |    |    |    +--- com.google.android.gms:play-services-measurement-base:16.0.3
|    |    +--- com.google.android.gms:play-services-measurement-base:16.0.3
|         +--- com.google.android.gms:play-services-measurement-base:16.0.3

... (y así sucesivamente, todo 16.0.3 directo)

Y esto para firebase-core 16.0.5:

$ ./gradlew android_common:dependencies | grep measurement-base
<-------------> 0% EXECUTING [1s]
> :android_common:dependencies > Resolve dependencies of :android_common:releaseUnitTestRuntimeClasspath
|    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4
|    |    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|         +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    |    |         \--- com.google.android.gms:play-services-measurement-base:16.0.3 -> 16.0.4 (*)
|    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4
|    |    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|         +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    |    |         \--- com.google.android.gms:play-services-measurement-base:16.0.3 -> 16.0.4 (*)
|    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4
|    |    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|         +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    |    |         \--- com.google.android.gms:play-services-measurement-base:16.0.3 -> 16.0.4 (*)
|    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4
|    |    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|         +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    |    |         \--- com.google.android.gms:play-services-measurement-base:16.0.3 -> 16.0.4 (*)
|    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4
|    |    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|         +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    |    |         \--- com.google.android.gms:play-services-measurement-base:16.0.3 -> 16.0.4 (*)
|    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4
|    |    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|         +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    |    |         \--- com.google.android.gms:play-services-measurement-base:16.0.3 -> 16.0.4 (*)
|    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4
|    |    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|         +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    |    |         \--- com.google.android.gms:play-services-measurement-base:16.0.3 -> 16.0.4 (*)
|    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4
|    |    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|         +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    |    |         \--- com.google.android.gms:play-services-measurement-base:16.0.3 -> 16.0.4 (*)
|    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4
|    |    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|         +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    |    |         \--- com.google.android.gms:play-services-measurement-base:16.0.3 -> 16.0.4 (*)
|    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4
|    |    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|         +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    |    |         \--- com.google.android.gms:play-services-measurement-base:16.0.3 -> 16.0.4 (*)
|    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4
|    |    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|         +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    |    |         \--- com.google.android.gms:play-services-measurement-base:16.0.3 -> 16.0.4 (*)
|    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4
|    |    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|         +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    |    |         \--- com.google.android.gms:play-services-measurement-base:16.0.3 -> 16.0.4 (*)
|    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4
|    |    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|         +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    |    |         \--- com.google.android.gms:play-services-measurement-base:16.0.3 -> 16.0.4 (*)
|    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4
|    |    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|         +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    |    |         \--- com.google.android.gms:play-services-measurement-base:16.0.3 -> 16.0.4 (*)
|    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4
|    |    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)

Como puede ver, hay algunas entradas como "com.google.android.gms: play-services-measure-base: 16.0.3 -> 16.0.4 (*)" que, a pesar de que no soy competente en interpretarlas salidas, creo que son la causa del problema.

Respuestas a la pregunta(1)

Su respuesta a la pregunta