添加firebaseUI失败

时间:2018-08-02 11:39:20

标签: android firebase firebase-authentication

我正在按照this文档将FirebaseUI添加到我的项目中,但是遇到2个错误(找不到com.google.android.gms.phenotype和Google Play服务的提供商信息,或者缺少正确的权限。 )

当我在依赖项上写该行时,会发生此错误:

implementation 'com.firebaseui:firebase-ui-auth:4.0.0'

我的gradle应用程序:

    apply plugin: 'com.android.application'

repositories {
    mavenLocal()
    flatDir {
        dirs 'libs'
    }
}

android {
    compileSdkVersion 24
    buildToolsVersion '27.0.3'

    defaultConfig {
        applicationId "com.google.firebase.udacity.friendlychat"
        minSdkVersion 16
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE-FIREBASE.txt'
        exclude 'META-INF/NOTICE'
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'

    //firebase
    implementation 'com.google.firebase:firebase-core:16.0.1'
    implementation'com.google.firebase:firebase-database:16.0.1'
    implementation'com.google.firebase:firebase-auth:16.0.2'
    implementation 'com.firebaseui:firebase-ui-auth:4.0.0' // the problem is here ??

    //noinspection GradleCompatible
    compile 'com.android.support:design:24.2.0'
    compile 'com.android.support:appcompat-v7:24.2.0'
    // Displaying images
    compile 'com.github.bumptech.glide:glide:3.6.1'
}
apply plugin: 'com.google.gms.google-services'

我的gradle项目:

buildscript {
    repositories {
        jcenter()
        mavenLocal()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.3'
        classpath 'com.google.gms:google-services:4.0.1'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        mavenLocal()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

我的logcat:

  

e08-02 08:48:30.431 8422-8440 / com.google.firebase.chat E / ActivityThread:无法找到com.google.android.gms.phenotype的提供者信息

     

08-02 08:48:30.510 8422-8443 / com.google.chat E / FirebaseInstanceId:    Google Play服务缺失或未经正确许可。

     

08-02 08:48:30.550 8422-8443 / com.google.chat E / FirebaseInstanceId:   Google Play服务缺失或未经正确许可。

     

08-02 08:48:30.927 8422-8445 / com.google.chat E / ActivityThread:失败   查找com.google.android.gms.chimera的提供商信息

     

08-02 08:48:31.079 8422-8443 / com.google.chat E / FirebaseInstanceId:   Google Play服务缺失或未经正确许可。

     

08-02 08:48:41.128 8422-8443 / com.google.chat E / FirebaseInstanceId:   Google Play服务缺失或未经正确许可。

4 个答案:

答案 0 :(得分:0)

要解决此问题,请更改以下代码行:

implementation 'com.firebaseui:firebase-ui-auth:4.0.0'

implementation 'com.firebaseui:firebase-ui-auth:4.1.0'

以及以下代码行:

classpath 'com.google.gms:google-services:4.0.1'

classpath 'com.google.gms:google-services:4.0.2'

似乎您还需要添加以下代码行:

implementation 'com.google.android.gms:play-services-auth:15.0.1'

答案 1 :(得分:0)

此问题似乎与设备有关,请确保测试设备上已安装Google Play服务。

查看以下解决方案:https://stackoverflow.com/a/25705181/5892396

答案 2 :(得分:0)

您需要使所有Google服务库的版本保持相似。 每个Firebase UI版本都对应一个特定的Google服务版本。

根据文档(https://github.com/firebase/FirebaseUI-Android

从4.1.0版开始,FirebaseUI具有以下依赖项版本:

库版本 firebase-auth 16.0.1

play-services-auth 15.0.1

firebase-database 16.0.1 ....

已更新: 对于错误“缺少或未经正确许可的Google Play服务”,您可以尝试在此Link

中提出建议

“下载google play服务sdk并在清单中添加ACCESS_FINE_LOCATION权限(如果未添加的话)”

答案 3 :(得分:0)

我找到了错误所在。 我改变了

compileSdkVersion 24

compileSdkVersion 24