在Google Maps Android API v2 DEBUG和RELEASE API Key之间切换

时间:2013-07-26 16:55:22

标签: java android google-maps

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

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

但是,我现在已经使用我的发布证书签署了我的应用程序,因此从Google地图获得了一个新的API密钥。出于测试目的,有没有办法在我的Manifest中保留旧的(调试)和新的(释放)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" />
}

干杯!

2 个答案:

答案 0 :(得分:8)

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

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

答案 1 :(得分: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密钥进行调试和发布。