15

我想为开发和生产自动设置不同的android map api V2键。

4

3 回答 3

21

登录到 Google API 控制台在“简单 API 访问”下单击右侧的“编辑允许的 Android 应用程序...”每行输入一个 SHA-1 指纹,如说明所示:

“每行一个 SHA1 证书指纹和包名称(用分号分隔)。示例:45:B5:E4:6F:36:AD:0A:98:94:B4:02:66:2B:12:17:F2 :56:26:A0:E0;com.example 45:B6:E4:6F:36:AD:1A:98:94:B4:02:66:2B:12:17:F1:56:26:A0: E0;com.example"

现在,只需使用相同的“简单 API 密钥”,它将适用于您的调试和发布证书,而无需更改任何内容。

于 2012-12-14T15:30:16.950 回答
7

我可能错了,但我认为您可以将相同的 V2 API 密钥用于开发和生产构建。在您的 Google API 控制台中,生成简单的 Android 密钥后,您只需输入生产签名密钥的 SHA-1 指纹,以及您可能拥有的所有开发 Android 调试签名密钥。然后在您的清单中,只需使用那个简单的 Android 密钥,该应用程序就应该适用于调试和生产构建。

于 2012-12-14T18:13:18.087 回答
3

最简单的解决方案之一。您可以通过两个简单的步骤来实现它。

将自定义值添加到 manifestplaceholdersbuild.gradle文件。见下文

buildTypes {
    debug {
        manifestPlaceholders = [ mapApiKeyValue:"GHjaSyAjlyp3O831lgaonHMXsd-_DpQ3002x3S4"]
    }

    release {
        manifestPlaceholders = [ mapApiKeyValue:"AIzaSyAuMGDLr2HeuRed4JA0CrdYYdZRjeC3EA"]
    }
}

编辑清单文件,如下所示。我的清单文件的一部分

 <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="${mapApiKeyValue}" />

此解决方案适用于最新的 Android 5.0 和 Android 6.0(API 20、21、22、23)

于 2016-11-08T10:17:38.097 回答