无法查看具有 Debug/Release APK 版本的地图

Unable to view Maps with Debug/Release APK release

启用 USB 调试后,我可以在模拟器和我的设备上查看 google 地图。但是当我尝试生成调试/发布 apk 并在我的设备上安装 apk 时,我无法查看地图。

我做了以下事情:

a) 生成 API 输入 https://console.developers.google.com/ 并将其复制到我项目的 google_maps_api.xml 中。

b) 我已经使用以下命令生成了必要的 SHA 密钥。

keytool.exe -list -v -alias <myalias> -keystore <my path> -storepass <passwd> -keypass <passwd>

我无法理解的是,如何使用生成的 SHA?

根据 我应该将 SHA 密钥添加到 https://console.developers.google.com/ 上的 API 密钥中.但是,我看不到添加它的选项。

通过安装 apk 然后在模拟器上调试安装的代码,我看到以下异常:

API Key must not be empty.

我的google_maps_api.xml如下:

<resources>
<string name="google_maps_key" templateMergeStrategy="preserve" translatable="false">Have added my api key here</string>

在此处添加了我的 api 密钥 --> 这是我添加生成的 API 密钥的地方。

已将此添加到我的清单文件中:

<meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="@string/google_maps_key" />

有人可以帮助我了解我应该做什么吗?

我终于能够解决这个问题,这些是我在 windows machine 上遵循的步骤,在 mac] 上应该更容易:

a) cd 进入 C:\Program Files\Java\bin [或安装 jdk 的任何地方]。

b) 运行: keytool -list -v -alias -keystore "{keystore ie., .jks file loc}" -storepass {你的商店密码} -keypass {你的密钥密码}

c) 通过运行 keytool cmd,然后将生成您的 SHA1 文件。

d) 登录 https://console.developers.google.com/

e) 在你的项目中会有一个 google_maps_api.xml 文件。在这个文件中有一个注释 url,像这样:https://console.developers.google.com/flows/enableapi?apiid=maps_android_backend&keyType=CLIENT_SIDE_ANDROID&r={your SHA1 key}%3B{your project package}.

f) 在上面的 link 中,用新生成的密钥替换默认的 SHA1 密钥,然后在您已经登录 google 开发者的浏览器上打开 link控制台。

h) 按照浏览器提示的步骤操作,这样你应该可以生成一个API密钥。

i) 将生成的 API 键粘贴到此处:

<string name="google_maps_key" templateMergeStrategy="preserve" translatable="false">API key</string>

这在您的 google_maps_api.xml 文件中可用。

j) 现在转到 {您的项目位置}\app\src\release\res\values 并打开 google_maps_api 文件。再次在这里,将您的 API 键替换为第 (i) 点中提到的位置,即代码片段。

k) 最后转到 Android Studio > Your Project > Build > Generate Signed Bundle / APK > {input keystore path and passwords as per point (b)} > select debug/release版本>完成

生成的调试或发布 apk 现在将允许您访问 google 个地图。