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 谷歌地图应用程序包含哪些键和推荐的主要内容,如果未能解决你的问题,请参考以下文章

android studio v4包冲突

Android studio上找不到setting?

android studio都有哪些功能

android studio 3.0 android profiler怎么看

如何手动升级android studio?

Android studio JVM启动错误