发布APK文件未显示谷歌地图

use*_*035 22 android android-keystore apk-expansion-files

我应用谷歌开发者文档中提到的确切步骤创建一个示例谷歌地图项目,一切都在模拟器上很好,但当我生成项目apk文件并在真实设备上启动它三星Galaxy S4谷歌地图不显示它显示只有一个空白的背景,左下方的屏幕角出现了彩色的Google徽标!!

我为谷歌地图创建了新项目我为项目创建了新的.jks文件并创建了商店和密钥传递和别名然后我从cmd java bin中提取了SHA1我去了dev.google.com/console创建了新项目然后启用了谷歌地图android API随后在Credentials中创建了API密钥,在我项目的google_maps_api.xml中粘贴了这个API密钥,并使用.jks文件路径和别名以及两个密码更新了signingConfigs版本.然后从Android Studio生成签名APK然后将app-release.apk转移到真实设备然后安装它同样问题谷歌地图没有显示.

Plz帮助

Min*_*wzy 32

这个问题的原因

发生这种情况是因为存在不同SHA1的类型debugrelease类型.

修复此问题

添加SHA1用于构建release APKGoogle控制台的密钥库

步骤:

  1. 生成签名APK时获取密钥库的路径

    构建---->生成签名APK ..

保存密钥库路径

在此输入图像描述

记得建造类型--- release

在此输入图像描述

  1. SHA1从密钥库中提取.

打开下面的终端使用命令:

 keytool -list -v -keystore "/Users/NT/Desktop/generalkey.jks"
Run Code Online (Sandbox Code Playgroud)

系统会要求您输入密钥库的密码.

更改密钥库路径的路径 keytool -list -v -keystore "keystore path"

从证书指纹,你会看到 SHA1

  1. 使用此SHA1包和您的包名生成android密钥

在此输入图像描述

使用密钥库生成APK并享受您的地图

  • 我还在Google Play控制台中启用了应用签名,因此还添加了在Google Play控制台中“发布管理”->“应用签名”下找到的SHA1。我认为实际上是SHA1使地图在我的应用中再次起作用。/sf/ask/3233375141/#46191310 (3认同)

Var*_*mar 7

可能很愚蠢,但是我的API密钥包含在其中

app\src\debug\res\values\google_maps_api.xml (debug)

您还需要包括-

app\src\release\res\values\google_maps_api.xml (release)

  • 我该怎么做? (3认同)

eha*_*hab 7

如果有人仍然面临这个问题:

这发生在我身上,因为我们需要两个 google maps api 密钥,一个用于调试,另一个用于发布,您可以签入:

C:\Users\username\AndroidStudioProjects\yourapp\app\src\ debug \res\values 你会找到一个 xml 和你的 api 密钥,如:

    <string name="google_maps_key" templateMergeStrategy="preserve" 
          translatable="false">AIza...etc</string>
Run Code Online (Sandbox Code Playgroud)

但如果你在这里检查:

C:\Users\username\AndroidStudioProjects\yourapp\app\src\ release \res\values 你会发现一个 xml 但里面没有 api 键,例如:

     <string name="google_maps_key" templateMergeStrategy="preserve" 
         translatable="false">YOUR_KEY_HERE</string>
Run Code Online (Sandbox Code Playgroud)

它被记录为 xml 文件本身的注释:

在发布应用程序之前,您需要一个 Google Maps API 密钥。

To do this, you can either add your release key credentials to your existing
key, or create a new key.

Note that this file specifies the API key for the release build target.
If you have previously set up a key for the debug target with the debug signing certificate,
you will also need to set up a key for your release certificate.

Follow the directions here:

https://developers.google.com/maps/documentation/android/signup

Once you have your key (it starts with "AIza"), replace the "google_maps_key"
string in this file.
Run Code Online (Sandbox Code Playgroud)


小智 5

检查以下事项:

  • 下面的文件应该同时处于调试和发布状态

    app\src\debug\res\values\google_maps_api.xml (debug)
    
    Run Code Online (Sandbox Code Playgroud)

    您还需要包含在

    app\src\release\res\values\google_maps_api.xml (release)
    
    Run Code Online (Sandbox Code Playgroud)
  • 将用于发布 apk 的 SHA1 添加到 Google Api 控制台。
    您可以从游戏控制台>>应用程序签名>>SHA1证书获取SHA1密钥