Right now I have a project that has 3 modules, one app
module and a streaming
module that uses its own base
module.
When I build this project, it always fails in the app:transformClassesWithDexBuilderForDev2Debug
, and it's always this:
AbortException: Type com.google.android.gms.internal.measurements.zz<something> is referenced as an interface from com.google.android.gms.internal.measurements.zz<something else>
My app
module's gradle looks like this:
...
ext {
supportLibVersion = '28.0.0';
gmsVersion = '15.0.0';
}
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation files('libs/libadapterinmobi.jar')
implementation project(':streaming')
implementation 'com.twitter.sdk.android:twitter-core:3.3.0'
implementation('com.crashlytics.sdk.android:crashlytics:2.9.6@aar') {
transitive = true
}
implementation('com.redbricklane.zapr:zapr-sdk:3.2.1@aar') {
transitive = true;
}
implementation 'com.redbricklane.zapr.admob:zapr-admob-adapter:2.1@aar'
implementation "com.android.support:appcompat-v7:$supportLibVersion"
implementation "com.android.support:customtabs:$supportLibVersion"
implementation "com.android.support:design:$supportLibVersion"
implementation "com.android.support:cardview-v7:$supportLibVersion"
implementation "com.android.support:recyclerview-v7:$supportLibVersion"
implementation "com.android.support:palette-v7:$supportLibVersion"
implementation "com.android.support:support-v4:$supportLibVersion"
implementation "com.google.android.gms:play-services-location:16.0.0"
implementation "com.google.android.gms:play-services-analytics:16.0.4"
implementation "com.google.android.gms:play-services-ads:17.1.2"
implementation "com.google.android.gms:play-services-auth:16.0.1"
implementation "com.google.firebase:firebase-core:16.0.8"
implementation "com.google.firebase:firebase-inappmessaging-display:17.1.1"
implementation "com.google.firebase:firebase-messaging:17.5.0"
implementation "com.google.firebase:firebase-auth:16.2.0"
implementation "com.google.firebase:firebase-database:16.1.0"
implementation "com.google.firebase:firebase-config:16.4.1"
implementation "com.google.firebase:firebase-appindexing:17.1.0"
implementation 'com.android.support:multidex:1.0.3'
implementation 'com.github.bumptech.glide:glide:4.9.0'
implementation 'com.github.bumptech.glide:annotations:4.9.0'
implementation 'com.github.bumptech.glide:volley-integration:4.2.0@aar'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
implementation('com.facebook.android:facebook-android-sdk:4.30.0') {
exclude group: 'com.google'
}
implementation 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.4.1'
implementation 'com.melnykov:floatingactionbutton:1.3.0'
implementation 'com.googlecode.mp4parser:isoparser:1.1.22'
implementation 'me.relex:circleindicator:1.2.1@aar'
implementation 'com.android.volley:volley:1.1.1'
implementation 'com.squareup.okhttp3:okhttp:3.10.0'
implementation 'com.mixpanel.android:mixpanel-android:4.9.8'
implementation 'com.flurry.android:analytics:6.4.2'
implementation 'com.squareup.picasso:picasso:2.5.2'
implementation 'io.github.luizgrp.sectionedrecyclerviewadapter:sectionedrecyclerviewadapter:1.0.4'
implementation 'com.danikula:videocache:2.7.0'
implementation 'com.inmobi.monetization:inmobi-ads:7.2.1'
implementation 'commons-io:commons-io:2.5'
implementation 'com.github.livefront:bridge:v1.1.3'
implementation 'frankiesardo:icepick:3.2.0'
annotationProcessor 'frankiesardo:icepick-processor:3.2.0'
}
...
And my streaming
module's gradle file looks like this:
...
androidExtensions {
experimental = true
}
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
//implementation files('libs/libadapterinmobi.jar')
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.android.support:exifinterface:28.0.0'
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support:customtabs:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.android.support.constraint:constraint-layout-solver:1.1.3'
implementation 'com.android.volley:volley:1.1.1'
implementation 'android.arch.lifecycle:extensions:1.1.1'
implementation 'android.arch.lifecycle:viewmodel:1.1.1'
implementation 'android.arch.lifecycle:livedata:1.1.1'
implementation 'android.arch.persistence.room:runtime:1.1.1'
implementation 'android.arch.paging:runtime:1.0.1'
implementation ("com.facebook.android:facebook-core:4.28.0") {
exclude group: 'com.google'
}
implementation('com.crashlytics.sdk.android:crashlytics:2.9.6@aar') {
transitive = true
}
//implementation 'com.google.firebase:firebase-core:16.0.8'
implementation 'com.google.firebase:firebase-invites:16.1.1'
//implementation 'com.google.firebase:firebase-messaging:17.5.0'
//implementation 'com.google.firebase:firebase-dynamic-links:16.1.8'
implementation 'com.google.android.gms:play-services-auth:16.0.1'
implementation 'com.google.android.gms:play-services-location:16.0.0'
implementation 'com.google.android.exoplayer:exoplayer:2.9.1'
implementation 'com.google.android.exoplayer:extension-rtmp:2.9.1'
implementation 'com.google.code.gson:gson:2.8.2'
implementation 'com.github.bumptech.glide:glide:4.9.0'
implementation 'com.github.bumptech.glide:okhttp3-integration:4.9.0'
implementation 'com.squareup.okhttp3:okhttp:3.10.0'
implementation 'com.squareup.picasso:picasso:2.5.2'
implementation 'com.intuit.ssp:ssp-android:1.0.5'
implementation 'com.intuit.sdp:sdp-android:1.0.5'
implementation 'com.vinaysshenoy:mugen:1.0.2'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.github.florent37:viewtooltip:1.1.6'
implementation 'com.karumi:dexter:5.0.0'
implementation 'com.android.billingclient:billing:1.2'
implementation 'me.saket:better-link-movement-method:2.2.0'
implementation 'com.makeramen:roundedimageview:2.3.0'
implementation 'com.github.yalantis:ucrop:2.2.2'
implementation 'com.robinhood.ticker:ticker:2.0.1'
implementation project(':playtrivia-base')
//implementation project(':stepbarview')
annotationProcessor "com.github.bumptech.glide:compiler:4.9.0"
annotationProcessor "android.arch.persistence.room:compiler:1.1.1"
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'
api "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}
repositories {
maven { url "http://dl.bintray.com/amulyakhare/maven" }
maven { url "https://jitpack.io" }
mavenCentral()
}
...
Most of the posts regarding this error are found here and in github repos' issue pages, and all of them suggest excluding com.google
in their gradle inclusion codes. The problem here is that I don't know which one to put that exclusion into, since I don't know which one uses com.google.android.gms.internal.measurements.<something>
.
EDIT: I forgot to mention that all of the other solutions in those posts involve updating all the Firebase
and play-services
repos to their latest version. It doesn't work for me.
The project level androidDependencies
Gradle task didn't help either (I had no hits when I searched for internal
).
With all that, how do I even start debugging this?