You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Firebase Auth签名APK无法发送OTP 请求技术协助

解决调试签名APK中Firebase电话认证无法发送OTP的问题

我完全懂你临近交付却卡壳的焦虑!之前也碰到过一模一样的调试签名APK Firebase认证失效的问题,给你梳理几个容易忽略的关键点,应该能快速解决:

  • 确认调试签名的SHA指纹完全匹配Firebase配置
    别只依赖Android Studio助手自动生成的SHA值,手动用keytool命令提取调试keystore的真实指纹才靠谱:

    # Mac/Linux
    keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
    
    # Windows
    keytool -list -v -keystore C:\Users\<你的用户名>\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android
    

    把输出的SHA-1和SHA-256逐字符对比Firebase控制台「项目设置」→「你的应用」→「SHA证书指纹」里的所有条目,确保没有遗漏或输入错误。

  • 检查Gradle签名配置是否正确绑定调试变体
    打开app模块的build.gradle(或build.gradle.kts),确认debug构建类型的签名配置指向了正确的调试keystore:

    signingConfigs {
        debug {
            storeFile file(System.getProperty("user.home") + "/.android/debug.keystore")
            storePassword "android"
            keyAlias "androiddebugkey"
            keyPassword "android"
        }
    }
    
    buildTypes {
        debug {
            signingConfig signingConfigs.debug
            // 其他调试配置...
        }
    }
    

    有时候Android Studio会自动生成临时调试签名,导致APK用的keystore和你在Firebase配置的不是同一个,手动指定签名配置能避免这个问题。

  • 重新下载并替换google-services.json
    每次修改Firebase的SHA指纹后,一定要重新下载最新的google-services.json文件,替换app模块根目录下的旧文件,然后执行Clean ProjectRebuild Project再生成APK。旧的json文件里没有新添加的指纹,会直接导致认证失败,这一步很多人容易忘!

  • 验证APK的实际签名指纹
    用Android SDK自带的apksigner工具检查生成的APK的真实签名:

    apksigner verify --print-certs <你的调试签名APK路径>
    

    把输出的SHA指纹和Firebase里的配置对比,确保完全一致——这能直接确认APK是不是用了正确的签名。

  • 检查Firebase电话认证的基础设置
    去Firebase控制台「Authentication」→「登录方法」→「电话」,确认:

    • 电话认证已经启用
    • 没有误设置号码白名单/黑名单(比如只允许特定测试号码)
    • 地区限制没有排除你测试的号码归属地

按上面的步骤逐一排查,应该能快速解决OTP发送失败的问题,顺利交付给客户!

内容的提问来源于stack exchange,提问作者Amol Borkar

火山引擎 最新活动