【发布时间】:2014-09-16 11:43:20
【问题描述】:
我正在使用 Google Maps Android API,但遇到了一些问题。
我正在使用 android studio(在 .android/keystore.jks 创建一个)签署我的 apk。我也选择“发布”作为其中的类型。我已经使用了命令
keytool -list -v -keystore C:\Users\Toshiba\.android\keystore.jks
从密钥库中获取 SHA1 指纹。
SHA1 正确,但地图未显示在签名的 APK 上。它显示在调试 APK 中。
将 keytool 与发布密钥库 (keystore.jks) 一起使用会得到这个:
SHA1: 33:46:07:82:5B:D4:45:D2:60:CE:5A:29:97:9F:6C:44:XX:XX:XX:XX
调试一个工作正常(我在 Google 的 API 控制台中添加了 2 个)
33:46:07:82:5B:D4:45:D2:60:CE:5A:29:97:9F:6C:44:XX:XX:XX:XX;yac.breakingpoint
7C:28:61:5B:C3:4A:5C:50:44:AA:FD:58:69:E9:70:91:XX:XX:XX:XX;yac.breakingpoint
XX 被黑了。
keytool 说它使用 SHA256withRSA 作为调试和发布密钥库的签名算法。
我做错了什么?
更新 所以我尝试了一个新的 API 密钥,清理项目并重建它,新的密钥库 - 仍然无法发布...调试很好!
更新 2 仍然没有找到可行的解决方案...帮帮我!
更新 3 好的,使用带有构建类型调试的签名 APK 使其工作。提取 CERT.RSA 并运行 keytool -printcert -file ./CERT.SA。得到与发布构建类型相同的结果。在发布时它不起作用!
更新 4 这是我的另一个尝试:
- 创建了一个新的 GIT 存储库,并提交给它。
-
/build文件夹未提交,因为它们位于.gitignore文件中。 - 在 API 控制台中创建了一个新的 API 密钥,并且只添加了 release SHA1 密钥。
- 将该 API 密钥添加到应用中,并通过重建进行了全面清理。
- 生成了一个新的签名 APK 文件
没有用。
更新 5 我的一个朋友试图重现这个问题。在使用 android studio 时,他遇到了完全相同的问题。可能是 android studio 的 bug?
【问题讨论】:
标签: android google-maps sha1