此问题的正常解决方案是发布版本的SHA1密钥不同,需要在google开发人员控制台上进行更改。我更新了它,无法让它工作。
我的Google Maps API_KEY目前允许任何Android应用程序(Android应用程序部分为空),因此SHA1密钥不是问题(据我所知)。鉴于此,当我通过Android工作室在调试模式下在手机上运行应用程序时,一切运行顺利。然后,片刻之后,我生成签名版本并通过以下方式安装:
adb.exe install [apk的路径]
地图屏幕为空白。到底是怎么回事?我可以在调试和发布模式下使用相同的Google Maps API密钥,只要它们都已列出或允许所有应用程序,对吧?
答案 0 :(得分:2)
问题的直接原因是应用的调试版本可以在google_maps_key不正确的情况下运行。我输入了api_key,但不知何故错了。
我不确定哪些更改解决了这个问题,但我删除了google_maps_api.xml中的一些注释和空格。这解决了这个问题。
<resources>
<string name="google_maps_key" translatable="false" templateMergeStrategy="preserve">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</string>
</resources>
进一步阅读: Google Maps V2 not working in production with correct key
答案 1 :(得分:0)
尝试使用gradle登录你的apk,为什么不保持相同的登录密钥进行调试&amp;释放
android {
signingConfigs {
release {
storeFile 'mykeystore.jks'
storePassword '********'
keyAlias 'myProject'
keyPassword '********'
}
}
buildTypes {
debug {
signingConfig signingConfigs.release
}
release {
signingConfig signingConfigs.release
}
}
}
然后执行gradle assembleRelease
以生成已签名的版本apk