Android auth firebase错误:找不到com.google.firebase.auth的本地模块描述符类

时间:2017-04-15 03:53:59

标签: android firebase firebase-authentication

  • 我正在尝试通过Firebase构建具有登录/注册功能的应用。我正在和一个合作伙伴一起工作(他在Linux上,我在Mac上),他能够使身份验证工作,但出于某些原因,我不是。我们拥有相同的代码,在SDK管理器中检查SDK工具,运行相同版本的所有内容。
  • 这是gradle文件:

    onPlaceHolderClick = (event) => {
        console.log(event.target.value);
    };
    
  • 代码:


compile 'com.android.support:appcompat-v7:25.3.0'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.google.firebase:firebase-auth:10.2.1'
compile 'com.android.support:design:25.3.0'
testCompile 'junit:junit:4.12' 
  • 最后是错误:

W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.
W/GooglePlayServicesUtil: Google Play Store is missing.
I/art: Background partial concurrent mark sweep GC freed 5866(313KB) AllocSpace objects, 1(14KB) LOS objects, 39% free, 2MB/4MB, paused 5.176ms total 27.761ms
D/account: createUserWithEmail:onComplete:false 

  • 几乎所有东西都是从Firebase网站上获取的教科书。请帮助,我们已经坚持了几个小时,其他类似的问题都没有帮助。

5 个答案:

答案 0 :(得分:4)

选项1:转到Firebase控制台<验证<登录方法,看看你是否在匿名状态下使用它。如果是,请禁用它并启用电子邮件/密码或您使用的任何登录方法。

选项2:检查您正在测试的设备是否正在运行Google Play Services 9.0.0或更高版本。

答案 1 :(得分:4)

log的{​​{1}}监听器中添加onComplete(),了解导致失败的原因究竟是什么。

createUserWithEmailAndPassword()

这可能是您输入的 if (!task.isSuccessful()) { Log.e(TAG, "onComplete: Failed=" + task.getException().getMessage()); } password创建帐户所致。 检查:

  • 如果您输入的电子邮件格式正确且确实存在。
  • 如果密码足够强大,可以接受(通常不少于6个字母)。
  • 如果已经有同一个电子邮件的帐户。

答案 2 :(得分:1)

您可以查看自己的Google Play服务版本吗?

先决条件:

  • 运行Google Play服务9.0.0或更高版本的Android设备
  • Android SDK Manager中的Google Play服务SDK
  • Android Studio 1.5或更高版本
  • Android Studio项目及其包名称。

此问题的原因之一可能是,您在Firebase中的登录方法> Auth Dashboard可能已被禁用。

修改

  

10.2.1版本无法从任何(虚拟)下载   您测试过的设备,需要更新。

Standalone SDK Manager底部的Extras部分中显示的Google Play服务版本对模拟器使用的版本没有影响。模拟器在系统映像上运行,系统映像配置为包含某些特定版本的Play服务,但并不总是相同。

您应确认已下载具有版本兼容性的最新仿真器映像,例如版本10.2.1(最新版本)。

答案 3 :(得分:0)

在我的情况下,我正在调试应用程序,但是缺少Firebase项目配置中的SHA1键。如果您要调试,请确保已使用SHA1键。

答案 4 :(得分:0)

我发生了同样的事情,因为您使用的是我使用的是旧的auth版本 提到并注释掉了旧的,而新的则在依赖项的底部。

enter image description here

因此,始终尝试遵循here