2013-05-17 30 views
2

是否可以在相同的代码库中为Google Maps Android API指定多个密钥?同一个Android项目中的多个API密钥

看起来我每次更改密钥库时都必须更改清单文件中的密钥。这不是很方便,如果你需要测试使用密钥形式调试和发布密钥库的应用程序。

回答

2

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

+0

谢谢您指出解决方案。 – Bobrovsky

0

据我所知,没有对这样做没有的程序化形式。对于comodity,您可以在strings.xml中定义的API密钥,并从清单

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

String mapKey = BuildConfig.DEBUG ? debugMapKey : releaseMapKey; 

MapView mv = new MapView(this, mapKey); 
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

这可能听起来很奇怪,但是您必须将您的密钥置于**完全相同的顺序**,因为它们在API控制台页面上显示为 –

相关问题