Android Studio 的 Android 谷歌地图应用程序包含哪些键和推荐
Posted
技术标签:
【中文标题】Android Studio 的 Android 谷歌地图应用程序包含哪些键和推荐【英文标题】:Android Google map application by Android studio which key to include and recommandation 【发布时间】:2015-10-29 14:21:08 【问题描述】:从 android 工作室添加 Google 地图活动时。它生成几个文件。其中我的困惑是:-
/app/src/debug/res/values/google_maps_api.xml /app/src/release/res/values/google_maps_api.xml
两者都有生成 api 密钥的指令。两者都生成不同的密钥。两者都在模拟器中工作。
我可以复制 api 键值并包含在 AndroidManifest 文件中并删除它们吗?因为毕竟这些值总是可以从https://console.developers.google.com/ 检索到的
或者我需要保持这些文件原样吗?
出于开发目的,我假设我继续使用调试密钥。但是当我准备提交应用到 Play 商店时,我必须使用发布密钥。
我说的对吗?
有什么建议?
【问题讨论】:
我的回答有用吗? 来@masiboo,关闭问题 【参考方案1】:如果你愿意,你可以直接在 AndroidManufest.xml 中删除这些文件并复制密钥,但是每次你将在商店发布新版本时都更改它并不好玩。
我建议使用 gradle 构建类型在测试和发布构建中自动更改键。
在 AndroidManifest 中传递变量
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="$MAP_KEY" />
然后在 build.gradle 中
buildTypes
release
...
manifestPlaceholders = [MAP_KEY: "MAP_RELEASE_KEY"]
debug
...
manifestPlaceholders = [MAP_KEY: "MAP_DEBUG_KEY"]
当然你可以在这里传递字符串资源
buildTypes
release
...
manifestPlaceholders = [MAP_KEY: "@string/map_release_key"]
debug
...
manifestPlaceholders = [MAP_KEY: "@string/map_debug_key"]
【讨论】:
您还可以在构建时合并发布和调试清单。【参考方案2】:是的,你可以删除它。
如果地图没有显示,Logcat 会显示错误,带有 SHA1 和包名。
您可以从 log cat 中复制 SHA1 和包名称并将其粘贴到下面的链接中。
https://console.developers.google.com/project/still-vim-102211/apiui/credential?keyType=CLIENT_SIDE_ANDROID&r=SHA1;com.example.packagename
【讨论】:
以上是关于Android Studio 的 Android 谷歌地图应用程序包含哪些键和推荐的主要内容,如果未能解决你的问题,请参考以下文章