4

刚刚完成了一个 Android 应用程序的编码,并准备将其发布到 Play 商店。在开发过程中,我使用我的 debug.keystore 获得了一个 Google Maps API 密钥,并将这个密钥放在我的 Manifest 中,如下所示:

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

然而,我现在已经用我的发布证书签署了我的应用程序,因此从谷歌地图获得了一个新的 API 密钥。出于测试目的,有没有办法在我的清单中保留旧的(调试)和新的(发布)API 密钥,并在运行时加载正确的一个开关?前任:

if (debug) {
<meta-data
  android:name="com.google.android.maps.v2.API_KEY"
  android:value="DEBUG_API_KEY" />
}

else if (release) {
<meta-data
  android:name="com.google.android.maps.v2.API_KEY"
  android:value="RELEASE_API_KEY" />
}

干杯!

4

2 回答 2

8

您可以为多个签名密钥甚至多个应用程序使用相同的密钥。

在 API 控制台上编辑允许的应用程序并添加 SHA;包对,每行一对。

于 2013-07-26T17:06:09.717 回答
0
      <!-- RELEASE key -->
        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="@string/release_map_key" />

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

您像上面一样在清单中添加多个 api 密钥。但是您可以使用相同的 api 密钥进行调试和发布。

于 2013-10-10T18:37:40.210 回答