Flutter google maps and firebase not working together

607

Solution 1

Add firebase auth dependency in your app level build.gradle file like following

implementation 'com.google.firebase:firebase-auth:19.2.0'

Solution 2

Add this to your app/build.gradle

implementation 'com.google.maps.android:android-maps-utils:0.5'

Solution 3

You need to add native dependency for FirebaseAuth in your app level build.gradle file like following:

implementation 'com.google.firebase:firebase-auth:19.2.0' or

You can put Google Maps dependency in the same file as well like : implementation 'com.google.maps.android:android-maps-utils:0.5'

Share:
607
Muhammad Faizan
Author by

Muhammad Faizan

Have strong experience in coding confusable bugs xD

Updated on December 15, 2022

Comments

  • Muhammad Faizan
    Muhammad Faizan over 1 year

    I am using google map and firebase in my app but app does not compile and throws following error

    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Execution failed for task ':app:preDebugBuild'.
    > Android dependency 'com.android.support:support-v4:26.1.0' is set to compileOnly/provided 
    which is not supported
    

    Following is my app/build.gradle file

    def localProperties = new Properties()
    def localPropertiesFile = rootProject.file('local.properties')
    if (localPropertiesFile.exists()) {
    localPropertiesFile.withReader('UTF-8') { reader ->
        localProperties.load(reader)
       }
    }
    
    def flutterRoot = localProperties.getProperty('flutter.sdk')
    if (flutterRoot == null) {
       throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the 
       local.properties file.")
    }
    
    def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
    if (flutterVersionCode == null) {
        flutterVersionCode = '1'
    }
    
    def flutterVersionName = localProperties.getProperty('flutter.versionName')
    if (flutterVersionName == null) {
        flutterVersionName = '1.0'
    }
    
    apply plugin: 'com.android.application'
    apply plugin: 'kotlin-android'
    apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
    
    android {
    compileSdkVersion 28
    
    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }
    
    lintOptions {
        disable 'InvalidPackage'
    }
    
    defaultConfig {
        // TODO: Specify your own unique Application ID 
    (https://developer.android.com/studio/build/application-id.html).
        applicationId "com.squadtechs.www.bus_tracking_app"
        minSdkVersion 16
        targetSdkVersion 28
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    
    buildTypes {
            release {
                // TODO: Add your own signing config for the release build.
                // Signing with the debug keys for now, so `flutter run --release` works.
                signingConfig signingConfigs.debug
            }
        }
    }
    
    flutter {
    source '../..'
    }
    
    dependencies {
        implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
        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'
    }
    apply plugin: 'com.google.gms.google-services'
    

    Following is my module level build.gradle file

    buildscript {
    ext.kotlin_version = '1.2.71'
    repositories {
        google()
        jcenter()
    }
    
    dependencies {
            classpath 'com.google.gms:google-services:4.3.2'
            classpath 'com.android.tools.build:gradle:3.2.1'
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        }
    }
    
    allprojects {
        repositories {
            google()
            jcenter()
        }
    }
    
    rootProject.buildDir = '../build'
    subprojects {
        project.buildDir = "${rootProject.buildDir}/${project.name}"
    }
    subprojects {
        project.evaluationDependsOn(':app')
    }
    
    task clean(type: Delete) {
        delete rootProject.buildDir
    }
    

    POINTS TO REMEMBER

    1. I have migrated to androidX but still issue persists
    2. If I use firebase alone or google maps alone, it works fine but not together