Android:自动选择调试/发布 Maps v2 api key ?

标签 android google-maps key android-manifest google-maps-android-api-2

我在我的项目中使用 Google Maps v2 API。在 Google Maps v2 中,调试/发布 API key 在 AndroidManifest.xml 中定义。我看过the link但在该映射键中定义的不是 AndroidManifest.xml 中的 xml 布局文件。那么我可以在 AndroidManifest.xml 中为我的项目定义调试和发布 key 吗?

我在 AndroidManifest.xml 中想要这样的东西:

如果是 Debug模式:

<meta-data
    android:name="com.google.android.maps.v2.API_KEY"
    android:value="@string/debug_map_api_key"/>

如果 Release模式:

<meta-data
    android:name="com.google.android.maps.v2.API_KEY"
    android:value="@string/release_map_api_key"/>

最佳答案

使用 build.gradle

buildTypes {

    debug {
        buildConfigField("String", "map_api_key", "\"your debug map api key here\"")
    }
    release {
        buildConfigField("String", "map_api_key", "\"your release map api key here\"")
    }
}

我使用以下步骤解决了这个问题:

在 Google Developer API 控制台中

  1. 点击创建新的Android key ...
  2. 在 cmd.exe/Terminal 中:keytool -list -v -keystore mystore.keystore
  3. 密码:android
  4. 现在输入 SHA1 key;package name 进行调试并回车
  5. 输入 SHA1 key ;包名 进行发布
  6. 点击创建

现在在您的项目中使用此 API key

<meta-data
    android:name="com.google.android.maps.v2.API_KEY"
    android:value="@string/common_map_api_key"/>

关于Android:自动选择调试/发布 Maps v2 api key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17141008/

相关文章:

java - 如何设置 Android WebView 使其与 Android 浏览器相同?

android - 如何通过名称指向国家?

javascript - 如何删除谷歌地图上绘制的多边形

日期的 Java hashmap 搜索键

java - 如何使用私钥身份验证进行 SVN 结账?

android:停止通知振动

android - 如何将 MediaPlayer 用于 fragment 中的 SurfaceView

android - SKD19 与 SDK24 - API 的使用记录为 @since 1.8+

CSS自动宽度div

php - 访问注册商标的数组键