Google 地图在发布模式下不呈现
Google Map doesnt render in Release mode
我一直在调试模式下使用 Google 地图 API,并且一直工作正常,直到它处于发布模式。如果我错了请纠正我,如果我们希望发布我们的应用程序,我们需要 Google 地图的单独 API 密钥。
我做了以下事情:
- 创建了新的 API 密钥
- 在我的 GCP 项目中启用了结算帐户
为了提取 SHA-1
密钥,我导航到 project/android/app
,在那里我可以看到 myapp.keystore
和 运行 命令 keytool -list -v -keystore mypp.keystore
。
创建 API_KEY
后,我导航到 project/android/app/src/main/AndroidManifest.xml
并修改密钥
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="xxxxxx"/>
还有什么可以遗漏的?提前致谢
请注意,这是一个 React-Native
项目,没有单独的 Release
和 Debug
directory/path 来配置 APIKEY
DEBUG
和 RELEASE
版本应该有单独的密钥。如果您在 Android Studio 中创建 Google Maps Activity
,它将创建具有 API_KEY 值的单独资源文件 google_maps_api.xml
。如您所见,调试和发布版本有不同的 SHA-1 certificate fingerprint
,这意味着它们的密钥不应该相同。
当然,这意味着清单中提到的代码应该更改为资源引用。
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_maps_key"/>
关键文件应该在以下目录:
src/debug/res/values/google_maps_api.xml
src/release/res/values/google_maps_api.xml
这样做
a) 打开 android 工作室。 Build --> Generate Signed APK 然后点击 Next
b) 复制您的 keystore
路径和密钥 alias
.
c) 现在打开终端并输入:
keytool -list -v -keystore "key store path" -alias "key alias"
d) 输入您的密钥密码,这将打印出您的版本 SHA1。
e) 然后在 google 项目中使用这个 SHA1,将它粘贴到那里并保存更改,现在 运行 应用程序再次加载地图
Update:-
生成debug
密钥
这样做
a) 单击右侧选项栏上的 Gradle 选项卡
b) 转到根文件夹 -> 任务 -> android -> signingReport
c) 双击,这将使用 signingReport 和 post 在您的底部视图中构建您的 SHA1。
我一直在调试模式下使用 Google 地图 API,并且一直工作正常,直到它处于发布模式。如果我错了请纠正我,如果我们希望发布我们的应用程序,我们需要 Google 地图的单独 API 密钥。
我做了以下事情:
- 创建了新的 API 密钥
- 在我的 GCP 项目中启用了结算帐户
为了提取 SHA-1
密钥,我导航到 project/android/app
,在那里我可以看到 myapp.keystore
和 运行 命令 keytool -list -v -keystore mypp.keystore
。
创建 API_KEY
后,我导航到 project/android/app/src/main/AndroidManifest.xml
并修改密钥
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="xxxxxx"/>
还有什么可以遗漏的?提前致谢
请注意,这是一个 React-Native
项目,没有单独的 Release
和 Debug
directory/path 来配置 APIKEY
DEBUG
和 RELEASE
版本应该有单独的密钥。如果您在 Android Studio 中创建 Google Maps Activity
,它将创建具有 API_KEY 值的单独资源文件 google_maps_api.xml
。如您所见,调试和发布版本有不同的 SHA-1 certificate fingerprint
,这意味着它们的密钥不应该相同。
当然,这意味着清单中提到的代码应该更改为资源引用。
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_maps_key"/>
关键文件应该在以下目录:
src/debug/res/values/google_maps_api.xml
src/release/res/values/google_maps_api.xml
这样做
a) 打开 android 工作室。 Build --> Generate Signed APK 然后点击 Next
b) 复制您的 keystore
路径和密钥 alias
.
c) 现在打开终端并输入:
keytool -list -v -keystore "key store path" -alias "key alias"
d) 输入您的密钥密码,这将打印出您的版本 SHA1。
e) 然后在 google 项目中使用这个 SHA1,将它粘贴到那里并保存更改,现在 运行 应用程序再次加载地图
Update:-
生成debug
密钥
这样做
a) 单击右侧选项栏上的 Gradle 选项卡
b) 转到根文件夹 -> 任务 -> android -> signingReport
c) 双击,这将使用 signingReport 和 post 在您的底部视图中构建您的 SHA1。