同一Android项目中的多个API密钥

时间:2013-05-17 09:47:58

标签: android android-studio api-key

是否可以在同一代码库中为Google Maps Android API指定多个键?

每次更改密钥库时,我都必须更改清单文件中的密钥。如果您需要测试使用密钥形式调试和发布密钥库来签名的应用程序,那就不太方便了。

4 个答案:

答案 0 :(得分:3)

我立刻在清单中添加了两个键。喜欢这个

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    ..
    android:versionCode="1"
    android:versionName="1.0" >

        <!-- RELEASE key -->
        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="my-release-keu" />

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

    </application>

</manifest>

显然,这很有效。看起来Google代码非常智能,可以自动使用相关密钥。

答案 1 :(得分:2)

我不认为这是你想要做的。您应该在Google Developer API控制台上将调试和发布SHA1密钥添加到API密钥。看看this answer

答案 2 :(得分:0)

AFAIK,这样做没有编程方式。对于商品,您可以在strings.xml中定义API密钥,并从清单

中检索它

答案 3 :(得分:0)

String debugMapKey   = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
String releaseMapKey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx";

String mapKey = BuildConfig.DEBUG ? debugMapKey : releaseMapKey;

MapView mv = new MapView(this, mapKey);