Problem with play-services-measurement-base on ionic

AndroidIonic FrameworkAndroid Gradle-PluginIonic3Ionic Native

Android Problem Overview


I have a problem on an ionic project that it started happening yesterday without modifying any dependency.

When I run ionic cordova run android I have this error:

The library com.google.android.gms:play-services-measurement-base is being requested by various other libraries at [[16.5.0,16.5.0], [16.4.0,16.4.0]], but resolves to 16.5.0. Disable the plugin and check your dependencies tree using ./gradlew :app:dependencies.

But I didn't installed any dependency in these days.

This is my cordova plugins list:

cordova-fabric-plugin 1.1.14-dev "cordova-fabric-plugin"
cordova-plugin-advanced-http 2.0.9 "Advanced HTTP plugin"
cordova-plugin-app-version 0.1.9 "AppVersion"
cordova-plugin-appminimize 1.0.1 "AppMinimize"
cordova-plugin-apprate 1.4.0 "AppRate"
cordova-plugin-appsee 2.6.0 "Appsee"
cordova-plugin-badge 0.8.8 "Badge"
cordova-plugin-datepicker 0.9.3 "DatePicker"
cordova-plugin-device 2.0.2 "Device"
cordova-plugin-dialogs 2.0.1 "Notification"
cordova-plugin-facebook4 3.2.0 "Facebook Connect"
cordova-plugin-file 6.0.1 "File"
cordova-plugin-firebase 2.0.5 "Google Firebase Plugin"
cordova-plugin-freshchat 1.2.0 "Freshchat plugin for Phonegap"
cordova-plugin-geolocation 4.0.1 "Geolocation"
cordova-plugin-globalization 1.11.0 "Globalization"
cordova-plugin-inappbrowser 3.0.0 "InAppBrowser"
cordova-plugin-inapppurchase-fixed 1.1.0 "In App Purchase"
cordova-plugin-insomnia 4.3.0 "Insomnia (prevent screen sleep)"
cordova-plugin-local-notification 0.9.0-beta.2 "LocalNotification"
cordova-plugin-media 5.0.2 "Media"
cordova-plugin-nativegeocoder 3.2.2 "NativeGeocoder"
cordova-plugin-nativestorage 2.3.2 "NativeStorage"
cordova-plugin-network-information 2.0.1 "Network Information"
cordova-plugin-splashscreen 5.0.2 "Splashscreen"
cordova-plugin-statusbar 2.4.2 "StatusBar"
cordova-plugin-whitelist 1.3.3 "Whitelist"
cordova-plugin-x-socialsharing 5.4.4 "SocialSharing"
cordova-support-google-services 1.2.1 "cordova-support-google-services"
es6-promise-plugin 4.2.2 "Promise"
ionic-plugin-deeplinks 1.0.19 "Ionic Deeplink Plugin"
nl.kingsquare.cordova.background-audio 1.0.1 "background-audio"
pushwoosh-cordova-plugin 7.13.0 "Pushwoosh"

I found these dependencies in my platforms/android/app/build.gradle (if it's good to know):

dependencies {
    implementation fileTree(dir: 'libs', include: '*.jar')
    // SUB-PROJECT DEPENDENCIES START
    implementation(project(path: ":CordovaLib"))
    compile "com.android.support:support-v4:24.1.1+"
    compile "com.squareup.okhttp3:okhttp-urlconnection:3.10.0"
    compile "com.google.android.gms:play-services-tagmanager:+"
    compile "com.google.firebase:firebase-core:+"
    compile "com.google.firebase:firebase-messaging:+"
    compile "com.google.firebase:firebase-config:+"
    compile "com.google.firebase:firebase-perf:+"
    compile "com.android.support:support-v4:26.+"
    compile "com.android.support:support-v4:27.+"
    compile "com.android.support:appcompat-v7:27.+"
    compile "com.android.support:recyclerview-v7:27.+"
    compile "com.android.support:design:27.+"
    compile "com.android.support.constraint:constraint-layout:1.0.2"
    compile "com.github.bumptech.glide:glide:4.7.1"
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.60"
    compile "com.pushwoosh:pushwoosh:5.13.0"
    compile "com.pushwoosh:pushwoosh-amazon:5.13.0"
    compile "com.pushwoosh:pushwoosh-badge:5.13.0"
    compile "com.pushwoosh:pushwoosh-inbox:5.13.0"
    compile "com.pushwoosh:pushwoosh-inbox-ui:5.13.0"
    compile "com.facebook.android:facebook-android-sdk:4.38.1"
    compile "com.appsee:appsee-android:2.6.0"
    // SUB-PROJECT DEPENDENCIES END
}

I don't know where to search. I found a workaround that is disabling version check of GoogleServicesPlugin in the platforms/android/build.gradle making: com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true but it doesn't work for me.

Thanks in advance.

EDIT: It seems like i'm not the only one. Here.

Android Solutions


Solution 1 - Android

No solutions posted here worked for me. A wonderful person opened a pull request in the cordova-firebase-plugin official repo and it works.

Steps I did:

1 - Remove cordova-firebase-plugin with ionic cordova plugin remove cordova-plugin-firebase

2 - Install: ionic cordova plugin add cordova-plugin-firebasex

3 - rm -rf node_modules/ plugins/ platforms/android package-lock.json

4 - ionic cordova platform add android && npm install

And now it's working.

Solution 2 - Android

I found a solution for me in the forum mentioned in Yannic Hamann answer (Ionic Forum).

The comment from systems_qualigy here is about locking the versions in project.properties.

cordova.system.library.4=com.google.firebase:firebase-core:16.0.8 
cordova.system.library.5=com.google.firebase:firebase-messaging:17.5.0 
cordova.system.library.6=com.google.firebase:firebase-config:16.4.1 
cordova.system.library.7=com.google.firebase:firebase-perf:16.2.4

I need also to lock the version of

com.google.android.gms:play-services-tagmanager:16.0.8

I took the version from Martins answer and could succesfully rebuild my project.

Solution 3 - Android

We are now maintaining a forked version which includes all the changes & fixes done by different authors (who have saved everyone from this Google's move).

https://github.com/wizpanda/cordova-plugin-firebase-lib#difference-from-the-fork-repository

So, now just remove the existing plugin with:

ionic cordova plugin remove cordova-plugin-firebase

And now, install new version with

ionic cordova plugin add cordova-plugin-firebase-lib --save

Cheers!

Solution 4 - Android

The Problem was due to the recent updates in firebase where some methods are now deprecated, check out Android Firebase releases. To fix the problem use the following patch of cordova plugin :

cordova plugin add https://github.com/dpa99c/cordova-plugin-firebase#GH-1057-April-05-android-build-issue

Solution 5 - Android

do as it says and run ./gradlew :app:dependencies in the Andoird project directory.

support-v4 is even added three times:

compile "com.android.support:support-v4:24.1.1+"
compile "com.android.support:support-v4:26.+"
compile "com.android.support:support-v4:27.+"

alike this the Gradle project synchronizes:

implementation project(":CordovaLib")

implementation "com.google.android.gms:play-services-tagmanager:16.0.8"

implementation "com.google.firebase:firebase-messaging:18.0.0"
implementation "com.google.firebase:firebase-config:17.0.0"
implementation "com.google.firebase:firebase-perf:17.0.0"
implementation "com.google.firebase:firebase-core:16.0.9"

implementation "com.android.support:design:28.0.0"
implementation "com.android.support:support-v4:28.0.0"
implementation "com.android.support:customtabs:28.0.0"
implementation "com.android.support:appcompat-v7:28.0.0"
implementation "com.android.support:recyclerview-v7:28.0.0"
implementation "com.android.support:animated-vector-drawable:28.0.0"
implementation "com.android.support.constraint:constraint-layout:1.1.3"

implementation "com.facebook.android:facebook-android-sdk:4.42.0"
implementation "com.squareup.okhttp3:okhttp-urlconnection:3.10.0"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.60"
implementation "com.github.bumptech.glide:glide:4.9.0"
implementation "com.appsee:appsee-android:2.6.0"

implementation "com.pushwoosh:pushwoosh:5.13.0"
implementation "com.pushwoosh:pushwoosh-amazon:5.13.0"
implementation "com.pushwoosh:pushwoosh-badge:5.13.0"
implementation "com.pushwoosh:pushwoosh-inbox:5.13.0"
implementation "com.pushwoosh:pushwoosh-inbox-ui:5.13.0"

Solution 6 - Android

I am having exactly the same issue. The problem is caused by cordova-plugin-firebase. I am currently investigating. Will update this answer when I found the exact course.

For now you can try to ionic cordova plugin rm <plugin> to see whether this resolves your current error too.

Update: Have a look here for possible fixes. This open PR seems to work. Hopefully it will be merged very soon.

Solution 7 - Android

I just added below in project.properties which is under android platform dir and it got worked

cordova.system.library.4=com.google.firebase:firebase-core:16.0.8 
cordova.system.library.5=com.google.firebase:firebase-messaging:17.5.0 
cordova.system.library.6=com.google.firebase:firebase-config:16.4.1 
cordova.system.library.7=com.google.firebase:firebase-perf:16.2.4

Solution 8 - Android

I was facing the same error, I just deleted platforms/android and installed again (ionic cordova prepare android) then everything went back as it was.

Solution 9 - Android

Ionic 4 : 20-05-2019

This works for me:

platforms/android/project.properties

target=android-27
android.library.reference.1=CordovaLib
android.library.reference.2=app
cordova.system.library.1=com.squareup.okhttp3:okhttp-urlconnection:3.10.0
cordova.gradle.include.1=cordova-plugin-firebase/com1-build.gradle
cordova.system.library.2=com.google.android.gms:play-services-tagmanager:16.0.8
cordova.system.library.3=com.google.firebase:firebase-core:16.0.8
cordova.system.library.4=com.google.firebase:firebase-messaging:17.5.0
cordova.system.library.5=com.google.firebase:firebase-config:16.4.1
cordova.system.library.6=com.google.firebase:firebase-perf:16.2.4
cordova.system.library.7=com.android.support:support-annotations:27.+

Solution 10 - Android

First, try to remove firebase using

ionic cordova plugin rm cordova-plugin-firebase

and install it again.

Solution 11 - Android

Follow my perfect solution for the cordova firebase issue.

  1. ionic cordova platform rm android
  2. npm uninstall -g cordova
  3. npm install -g [email protected]
  4. ionic cordova platform add android (e.g v8.0.0)
  5. ionic cordova plugin add cordova-plugin-firebasex (e.g v6.0.7)
  6. ionic cordova run android

New cordova-plugin-firebasex plugin will fix all the issues related to firebase and it is really good alternative for cordova-plugin-firebase.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionIvan LencinaView Question on Stackoverflow
Solution 1 - AndroidIvan LencinaView Answer on Stackoverflow
Solution 2 - AndroidHank LapidezView Answer on Stackoverflow
Solution 3 - AndroidShashank AgrawalView Answer on Stackoverflow
Solution 4 - AndroidKiblawi_RabeeView Answer on Stackoverflow
Solution 5 - AndroidMartin ZeitlerView Answer on Stackoverflow
Solution 6 - AndroidYannic HamannView Answer on Stackoverflow
Solution 7 - AndroidSunilkumar GodiView Answer on Stackoverflow
Solution 8 - AndroidMustafa ShakarounView Answer on Stackoverflow
Solution 9 - AndroidSampathView Answer on Stackoverflow
Solution 10 - AndroidRaj GohelView Answer on Stackoverflow
Solution 11 - AndroidManoj AlwisView Answer on Stackoverflow