单个Android Studio项目的多个API密钥

时间:2015-11-25 13:13:07

标签: android google-maps google-play-services android-manifest google-places-api

我使用Google Maps API v2 for android和Google Places API,两者都有不同的api-key要添加到清单,但是当我添加两个键时,我得到了多键错误。

是否可以为两个不同的API添加两个不同的密钥,如果没有,那么可能的解决方法是什么?

    <!-- Goolge Maps API Key -->
    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="AIzaSyD****************U6QybngOI" />

   <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="AIzaSyA******************KDaKCEJU" />

4 个答案:

答案 0 :(得分:3)

您需要将gradle与Placeholders一起使用。

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

在你的gradle中添加

android {
   buildTypes {
    debug {
      manifestPlaceholders = [ mapsKey:"AIzaSyD****************U6QybngOI"]
    }
   }
}

答案 1 :(得分:1)

我通过对Google Maps v2和Google Places API使用相同的GEO API密钥解决了这个问题,即Geo api-key也可用于地方api和地图api。

<!-- Goolge Maps API Key -->
<meta-data
    android:name="com.google.android.maps.v2.API_KEY"
    android:value="AIzaSyA******************KDaKCEJU" />    

<!-- Google Places API Key -->
<meta-data
    android:name="com.google.android.geo.API_KEY"
    android:value="AIzaSyA******************KDaKCEJU" />    

答案 2 :(得分:0)

要添加版本和调试密钥,请更改gradle文件。您首先必须在Google Developer Console中制作API密钥。

apply plugin:'com.android.application'

{{1}}

依赖{     编译fileTree(包括:['* .jar'],dir:'libs')     testCompile'junit:junit:4.12'     编译'com.android.support:appcompat-v7:23.1.1'     编译'com.android.support:design:23.1.1'     编译'com.google.android.gms:play-services:8.4.0' }

答案 3 :(得分:0)

您不应该为此目的使用多个密钥。您只需从开发人员控制台为同一API密钥启用两项服务。我认为this答案将指导您完成整个过程。