3

对于我的Android应用程序,我尝试使用Firebase进行身份验证和数据存储。现在,我停留在身份验证上。当我的应用程序加载时,Android Studio控制台中会显示错误堆栈跟踪。Android Firebase身份验证不起作用

W/GooglePlayServicesUtil:无法找到Google Play服务包名称。

android.content.pm.PackageManager $的NameNotFoundException:com.google.android.gms

在android.app.ApplicationPackageManager.getPackageInfo(ApplicationPackageManager.java:137)

在com.google.android .gms.internal.zzrt.getPackageInfo在com.google.android.gms.common.zze(未知来源)

在com.google.android.gms.common.zze.zzby(未知来源)

.zzbx(未知来源)

在com.google.android.gms.common.zze.zzbs(来源不明)

在com.google.android.gms.common.zze.isGooglePlayServicesAvailable(来源不明)

在COM。 google.android.gms.common.zzc.isGooglePlayServicesAvailable(未知来源)

在com.google.android.gms.common.GoogleApiAvailability.isGooglePlayServicesAvailable(未知来源)

在com.google.android.gms。 internal.zzqh $ zzc.connect(未知来源)

在com.google.android.gms.internal.zzqh $ zzc.zza(来源不明)

在com.google.android.gms.internal.zzqh.zza(来源不明)

在com.google.android.gms.internal.zzqh.handleMessage(未知来源)

在android.os.Handler.dispatchMessage(Handler.java:98)

在android.os.Looper.loop( Looper.java:148)

at a ndroid.os.HandlerThread.run(HandlerThread.java:61)

而当我尝试提交我的电子邮件和密码凭据时,会出现以下消息。

07-07 14:19:45.330 7430-7449/com.tech_centric.developmentworkflowfirebase W/DynamiteModule:用于com.google.firebase.auth本地模块描述符类未找到。

07-07 14:19:45.330 7430-7449/com.tech_centric.developmentworkflowfirebase W/GooglePlayServicesUtil:Google Play商店缺失。

我的项目/的build.gradle看起来是这样的:

// Top-level build file where you can add configuration options common to all sub-projects/modules. 

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:1.5.0' 
     classpath 'com.google.gms:google-services:3.0.0' 

     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

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

而且我的项目/应用程序/编译。gradle看起来像这样:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.3" 

    defaultConfig { 
     applicationId "com.tech_centric.developmentworkflowfirebase" 
     minSdkVersion 19 
     targetSdkVersion 23 
     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' 
    compile 'com.android.support:appcompat-v7:24.0.0-alpha2' 
    compile 'com.android.support:design:24.0.0-alpha2' 
    compile 'com.google.firebase:firebase-core:9.2.0' 
    compile 'com.google.firebase:firebase-auth:9.2.0' 
} 

apply plugin: 'com.google.gms.google-services' 

有什么,我失踪,使这项工作?

+1

您是在模拟器上还是在实际设备上启动应用程序?目标上是否安装了谷歌播放服务? – dthulke

+0

@dthulke我正在模拟器上启动应用程序。如何检查模拟器上是否安装了谷歌播放服务? – Crimson1222

+0

@dthulke我安装了它,但现在它给了我一个新的错误。 W/DynamiteModule:未找到com.google.firebase.auth的本地模块描述符类。 W/GooglePlayServicesUtil:Google Play服务已过时。需要9256000,但找到9080480 – Crimson1222

回答

4
  • 我不知道你是否已经导入生成的谷歌,services.json文件在你的项目的应用程序/文件夹中。如果您没有,请点击此链接:https://firebase.google.com/docs/android/setup,在“向应用添加Firebase”部分。

  • 如果你仍然显示错误,你可以尝试编辑依赖于的build.gradle文件在您应用程序/文件夹如下:编译“com.google.firebase :火力芯:9.2.0' 编译 'com.google.firebase:火力-AUTH:9.2.0'编译 'com.google.firebase:火力核:9.0.2' 编译' com.google.firebase:firebase-auth:9.0.2'

希望它有帮助!

+0

是的。我将google-services.json文件放在应用程序/文件夹中。我将尝试对firebase依赖关系进行分级。 – Crimson1222

+0

降级依赖关系!谢谢! – Crimson1222

0

我在使用虚拟机Genymotion API 21运行应用程序时发现此错误。我的问题的解决方案是将Google Play服务安装(添加)到虚拟机Genymotion中。文件zip可以从此链接下载ARM Translation Installer v1.1和谷歌播放服务Android version 5.0。要安装谷歌播放服务只是药物,并将两个文件的zip文件放入主屏幕Android Genymotion模拟器,并通过运行adb reboot或点击Android Genymotion模拟器的电源按钮重新启动模拟器。

0

是的,你缺少启用身份验证下的SIGN-IN-METHOD。 这里是屏幕截图,启用该方法后,您将不会收到此错误。 enter image description here

现在尝试上传文件上的存储,现在它会工作。

+1

我确实已启用身份验证,所以很明显,这不是您在未启用身份验证方法时得到的错误。 – Crimson1222