具有两种风格的应用生成相同的密钥哈希
App with two flavors generate the same key hash
我有两个来自同一个项目的两个不同风格的应用程序,它们有 Facebook 登录,其中一个已发布并且工作正常,问题出在另一种风格上,在调试中一切正常,但是当我尝试在发行版中使用 facebook 登录时,我得到了无效的密钥哈希,密钥哈希不匹配...
我多次尝试重新生成密钥哈希,即使使用不同的密钥库,但我得到了相同的结果,我什至尝试在错误消息中复制密钥哈希,但没有成功。
然后我在 facebook 控制台中将密钥散列与已发布应用程序的密钥散列进行了比较,它就在那里。
我的问题是,为什么这两种版本在不同的清单文件中具有不同的包名和 facebook ApplicationId,但它们的密钥哈希值却相同?
这是我的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"
}
}
您对具有相同密钥库的两个变体使用相同的签名配置,请为每个变体使用不同的密钥库。
我有两个来自同一个项目的两个不同风格的应用程序,它们有 Facebook 登录,其中一个已发布并且工作正常,问题出在另一种风格上,在调试中一切正常,但是当我尝试在发行版中使用 facebook 登录时,我得到了无效的密钥哈希,密钥哈希不匹配... 我多次尝试重新生成密钥哈希,即使使用不同的密钥库,但我得到了相同的结果,我什至尝试在错误消息中复制密钥哈希,但没有成功。 然后我在 facebook 控制台中将密钥散列与已发布应用程序的密钥散列进行了比较,它就在那里。
我的问题是,为什么这两种版本在不同的清单文件中具有不同的包名和 facebook ApplicationId,但它们的密钥哈希值却相同?
这是我的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"
}
}
您对具有相同密钥库的两个变体使用相同的签名配置,请为每个变体使用不同的密钥库。