我开发了一个Android应用程序,里面有一个地图片段。我得到了#34;地图键"来自"谷歌开发者控制台"通过指定我的项目的包名和其他所需的详细信息。
我通常通过将实际设备连接到我的机器来测试我的应用程序,一切正常。但是当我构建一个apk作为调试或发布版本并在相同/不同的设备中安装apk时,它根本不会显示地图。
我使用Android Studio进行开发和构建过程。
如何解决此问题?当我构建apk但我不确定如何解决这个问题时,我绝对肯定它与密钥没有被正确选择有关!
更新1:
我使用你的所有建议想出了问题。我遗漏的部分是我在Android工作室中使用&#34生成一个新的密钥库;生成签名的apk"所以我的apk用新的SHA-1签名发布,但我没有告诉谷歌它需要考虑我的新SHA-1。
所以我做了以下
完成上述步骤后,我的地图会正确显示。 :)
感谢大家帮我解决。
答案 0 :(得分:0)
在构建应用程序并直接从工作室安装时,工作室将使用调试密钥。但在发布应用程序时,必须使用释放密钥而不是调试密钥对apk进行签名.Android SDK工具会在生成此版本证书时生成此证书。你做了一个发布版本。
因此,为了生成映射键,如果处于开发阶段,可以使用调试键生成映射键。但是当您发布应用程序时,您必须使用发布密钥获取新的地图密钥,并将其替换为清单文件中的内容。
答案 1 :(得分:0)
当您在不创建apk的情况下运行应用程序时,它会将您的调试密钥库作为密钥库,并且您已在开发者控制台上设置该密钥。
当您创建apk时,将使用不同的密钥库(即您的应用密钥库)创建该apk。
keytool -list -v -keystore~ / .android / debug.keystore -alias androiddebugkey -storepass android -keypass android
keytool -list -v -keystore kestore_location -alias kestore_alias_name -storepass android -keypass kestore_pasword
因此,使用该密钥库创建的has-key未在开发人员控制台上设置。
您只需使用app kestore创建新的哈希密钥,并将其添加到开发人员密钥库。
它会显示地图。
答案 2 :(得分:0)
我认为SHA存在问题。请再次检查SHA。 请按照以下步骤查找正确的SHA并与控制台SHA
匹配在Android Studio中: 1.在窗口右侧单击Gradle 刷新 3. app --->任务---->机器人---> signingReport 4. SHA将显示在控制台
上谷歌控制台上生成的SHA添加。 快乐映射