我有两个来自同一个项目的应用程序有两种不同的风格,他们有Facebook登录,其中一个已发布并且工作正常,问题在于其他风格,每个东西在调试中工作正常,但是当我尝试在发布时使用facebook登录我得到了无效的密钥哈希,密钥哈希不匹配... 我尝试重新生成密钥哈希很多次,即使使用不同的密钥库,但我有相同的结果,我甚至尝试在错误消息中复制密钥哈希,没有运气。 然后我将密钥哈希与Facebook控制台中已发布应用程序的密钥哈希值进行了比较,它就在那里。
我的问题是为什么这两种口味具有相同的密钥哈希,即使它们在不同的清单文件中有不同的包名称和facebook ApplicationIds?
这是我的build.gradle
android {
signingConfigs {
release {
keyAlias 'alias'
keyPassword '********'
storeFile file('keystore.jks')
storePassword '********'
v2SigningEnabled false
}
}
compileSdkVersion 25
buildToolsVersion '26.0.2'
defaultConfig {
minSdkVersion 19
targetSdkVersion 25
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
}
buildTypes {
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
}
flavorDimensions "app"
productFlavors {
A {
dimension "app"
applicationId "com.app1"
versionCode 12
versionName '1.12'
resValue "string", "app_name", "App1"
resValue "string", "facebook_app_id", "1**************7"
resValue "string", "fb_login_protocol_scheme", "fb1**************7"
}
B {
dimension "app"
applicationId "com.app2"
versionCode 0
versionName '1.0'
resValue "string", "app_name", "App2"
resValue "string", "facebook_app_id", "1**************5"
resValue "string", "fb_login_protocol_scheme", "fb1**************5"
}
}
答案 0 :(得分:1)
对于具有相同密钥库的两种变体,您使用相同的签名配置,请为每个变体提供不同的密钥库。