在构建签名发布APK时,我遇到了以下内容:如果我使用build.gradle文件(仅限相关部分)从
android工作室(通过Build – > Generate Signed APK …)构建签名apk:
signingConfigs { release { storeFile file('/keystore/location/mykeystore.keystore') storePassword 'storepassword' keyAlias 'key' keyPassword 'keypassword' } } buildTypes { release { signingConfig signingConfigs.release } }
生成的apk指纹是YY:YY.
但是,如果我使用build.gradle描述here从控制台构建我的APK,如下所示:
buildTypes { release { } }
并使用相同的密钥库文件对其进行签名,生成的apk指纹为XX:XX.
此外,两个SHA指纹都与我的调试证书SHA指纹不同.
这种行为的原因是什么?
我正在使用buildToolsVersion 23.0.0
android studio gradle版本1.3.0
android sdk工具版本24.3.4
android studio版本1.3.1
解决方法
你检查了密钥库的内容吗?指纹必须与其中一个证书匹配.您的密钥库中可能有多个证书,在从控制台签名期间可能使用了不同的证书?您可以通过运行以下命令来检查证书:
keytool -v -list -keystore / path / to / keystore
输入密钥库的密码,您应该获得别名列表.我还检查调试密钥库以确保那里没有其他证书.
我能想到的另一个可能性是路径问题,导致使用不同的密钥库.