无法查看具有 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 个地图。
启用 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?
根据
通过安装 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
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 个地图。