我的gradle设置如下所示,
android {
signingConfigs {
debug {
keyAlias 'myalias'
keyPassword 'mykeypass'
storeFile file('/Developer/mystore.keystore')
storePassword 'mystorepass'
}
}
buildTypes {
debug {
signingConfig signingConfigs.debug
}
}
...
我确信这是正在使用的内容,因为对这些设置的任何更改都会导致构建失败,并且能够将垃圾放入release
部分,并且不会影响构建无论如何。
如果我然后从gradle installDebug
版本解压缩生成的apk,并使用
keytool -printcert -file META-INF/CERT.RSA`
我得到了
4B:9D:xxxxxxxxx
但是,如果我用
检查指定密钥的SHA1keytool -exportcert -alias myalias -keystore /Developer/mystore.keystore -storepass mystorepass -list -v
我看到了
E6:DB:xxxxxxxx
E6是我们在整个Google API中用于调试版本的内容,这意味着我们目前使用Gradle构建的任何版本都有错误的签名,这打破了Google Play登录,其中包括其他一些内容
只是说,在运行
时,APK中显示的内容也不是调试密钥库keytool -exportcert -keystore ~/.android/debug.keystore -storepass android -list -v
在这种情况下,SHA1是
A8:7B:xxxxxxx
所以我完全不知道APK中的SHA1来自哪里。