Android 在play store中发布后,Google身份验证不起作用

Android 在play store中发布后,Google身份验证不起作用,android,firebase,firebase-authentication,Android,Firebase,Firebase Authentication,将应用程序上传到google play后,google手机身份验证不起作用。下面是我在logcat中遇到的错误 此应用未被授权使用Firebase身份验证。请验证Firebase控制台中是否配置了正确的包名和SHA-1 我在stack overflow上读到的大多数答案都告诉我“SHA1密钥对于签名的apk是不同的。因此您有两个SHA1,一个用于调试版本,一个用于发布版本。SHA1用于发布版本可以从密钥库文件中获得。” 这些答案不能解决我的问题。以下是我迄今为止所做的工作 我在GoogleFir

将应用程序上传到google play后,google手机身份验证不起作用。下面是我在logcat中遇到的错误

此应用未被授权使用Firebase身份验证。请验证Firebase控制台中是否配置了正确的包名和SHA-1

我在stack overflow上读到的大多数答案都告诉我“SHA1密钥对于签名的apk是不同的。因此您有两个SHA1,一个用于调试版本,一个用于发布版本。SHA1用于发布版本可以从密钥库文件中获得。”

这些答案不能解决我的问题。以下是我迄今为止所做的工作

我在GoogleFirebase控制台中添加了调试和发布SHA1键

下载了新的google-services.json文件,并用旧文件替换了投影文件夹中的文件

从android studio生成已签名的apk

如果我在手机中手动安装apk,则apk的调试版本和发布版本都可以正常工作

但如果我将发布的版本上传到GooglePlay进行beta测试,就会出现应用程序验证失败的错误

我还确认了SHA1在Google Play控制台和Firebase控制台的“应用程序签名”中是相同的

请帮忙

这是build.gradle

plugins {
    id 'com.onesignal.androidsdk.onesignal-gradle-plugin' version '0.8.1'
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    buildToolsVersion '27.0.3'
    defaultConfig {
        applicationId "-----"
        minSdkVersion 15
        targetSdkVersion 27
        useLibrary 'org.apache.http.legacy'
        versionCode 7
        versionName "1.0"
        multiDexEnabled true
        manifestPlaceholders = [onesignal_app_id               : "---",
                                // Project number pulled from dashboard, local value is ignored.
                                onesignal_google_project_number: "REMOTE"]
    }
    dexOptions {
        javaMaxHeapSize "4g"
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    repositories {
        maven {
            url 'http://dl.bintray.com/amulyakhare/maven'
            maven { url 'https://dl.bintray.com/alexeydanilov/maven' }
        }
        maven {
            url 'https://raw.githubusercontent.com/felixb/mvn-repo/master/'
        }
        jcenter()
        maven {
            url "https://maven.google.com"
        }
        mavenCentral()
    }

}

dependencies {
    compile "com.splitwise:tokenautocomplete:2.0.8@aar"
    compile 'com.googlecode.libphonenumber:libphonenumber:8.4.2'
    compile 'com.viewpagerindicator:viewpagerindicator:2.4.3'
    compile 'com.anjlab.android.iab.v3:library:1.0.44'
    compile 'com.onesignal:OneSignal:[3.9.1, 3.99.99)'
    compile 'com.google.firebase:firebase-auth:15.0.0'
    compile 'com.google.android.gms:play-services-safetynet:15.0.0'
    compile 'com.android.support:design:27.1.1'
    compile 'com.android.support:appcompat-v7:27.1.1'
    compile 'com.github.amlcurran.showcaseview:library:5.4.3'
    compile 'com.android.support:multidex:1.0.3'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
}
apply plugin: 'com.google.gms.google-services'

我们的应用程序最近遇到了这个问题,它与Firebase身份验证集成在一起

APK工作正常,电话号码的OTP正常。 但同样的APK,当从Google Play下载时,并没有起作用,因为电话号码的OTP没有出现

如上所述,出现此问题的原因是:我们已与Google Play签署了我们的应用程序,Google Play已使用新的SHA-1指纹进行了签名

现在,您可以将此SHA-1添加到您的应用程序中,而不是使用GooglePlay生成的新SHA-1重建APK Firebase项目概述添加指纹
这使得我们的应用程序从Google Play开始工作。

如果你已经添加了sha 1和所有,那么请检查Android设备api是否处于活动状态,并请检查它是否处于活动状态。

可能重复我已经检查了那里的答案,并在我的问题中解释了为什么我要重新发布类似的问题。你也可以添加grandle文件吗?这是发生在我身上。我所做的是,我获取了我的项目的
release SHA-1 fingerprint
密钥,并在googledeveloper控制台中为我已经存在的项目创建了新的
OAuth,使用这个新的指纹和包名
。完成后,将更新
Firebase
中的
googleservices.json
文件。您只需从firebase项目设置中下载更新的json文件,并将该文件添加到您的android项目中,然后创建发布版本。我已经验证了调试和发布oauth_客户端ID都是由google在google-services.json中自动添加的。在控制台的OAuth2.0部分中,两个客户端都是由google自动创建的。回答正确,但我觉得如果您演示如何导航到SHA1会更好。也可能重复,请阅读