【发布时间】:2018-11-12 20:24:36
【问题描述】:
将应用程序上传到 google play 后,google 手机身份验证不起作用。以下是我在 logcat 中遇到的错误。
此应用无权使用 Firebase 身份验证。请确认在 Firebase 控制台中配置了正确的包名称和 SHA-1。
我在 stack-overflow 上阅读的大多数答案都告诉我“SHA1 密钥对于签名的 apk 是不同的。所以你有两个 SHA1,一个用于调试和发布版本。发布版本的 SHA1 可以从密钥库文件中获得。”
这些答案不能解决我的问题。这是我到目前为止所做的。
我在 google firebase 控制台中添加了调试和发布 SHA1 密钥。
下载了新的 google-services.json 文件并在投影文件夹中替换为旧文件。
从 android studio 生成签名的 apk。
如果我在手机中手动安装 apk,调试版和发布版的 apk 都可以正常工作。
但如果我将发布的版本上传到 google play 进行 beta 测试,它会给我 App 验证失败 错误。
我还确认 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'
【问题讨论】:
-
我已经检查了那里的答案并在我的问题中解释了为什么我要重新发布类似的问题
-
能否请您也添加grandle文件?
-
这件事发生在我身上。我所做的是我拿走了我的项目的
release SHA-1 fingerprint键并创建了新的OAuth in google developer console for my already existing project with this new fingerprint and package name。完成后,这将更新Firebase中的google-services.json文件。您只需download that updated json file from firebase project settings并将该文件添加到您的 android 项目并创建发布版本。 -
我已经验证了调试和发布 oauth_client id 都是由谷歌在 google-services.json 中自动添加的。在控制台的 OAuth 2.0 部分中,两个客户端也是由 google 自动创建的。
标签: android firebase firebase-authentication