根据开发环境更改Maps API密钥

时间:2012-01-03 09:16:41

标签: android google-maps development-environment api-key

我在两个不同的环境中开发Android应用程序,每个SDK都有不同的Maps API密钥。我没有尝试将一个debug.keystore文件复制到另一个位置,但我更喜欢是否有办法根据开发环境有选择地替换文件中的密钥。密钥用于XML文件中(尽管应该有一种以编程方式设置它的方法)。

4 个答案:

答案 0 :(得分:2)

以下是我们的工作:

我们将Maps密钥保存在名为assets / environment.properties的文件中。默认情况下,它包含开发密钥。在应用程序启动期间的运行时,我们将所有值从该文件转换为哈希值,并从该文件中的键手动构建我们的地图视图(您可以将API密钥传递给MapView构造函数)。

每当我们发布新版本时,我们的构建系统会将不同的模板文件复制到environment.properties,其中包含生产密钥。一旦构建应用程序,通过使用版本控制系统(我们使用Git)丢弃更改,此步骤将被颠倒。这都是自动的。

到目前为止,这对我们来说非常有效。

答案 1 :(得分:2)

您可以使用地图键注册多个证书,这样您就不必再使用多个密钥了。见https://stackoverflow.com/a/13881624/1433372

"每行一个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。示例"

答案 2 :(得分:1)

你可以在蚂蚁中使用属性替换器,或者如果你在那里使用maven那么。

答案 3 :(得分:0)

如果要以编程方式设置API密钥,可以将API密钥传递给MapView constructor