1

我为Android和Google Places API使用Google Maps API v2,两者都有不同的API密钥添加到清单,但是当我添加这两个密钥时,关键错误。单个Android Studio项目的多个API密钥

是否可以为两个不同的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" /> 

回答

1

我用谷歌地图V2和谷歌Places API的两个相同的GEO API密钥解决了这个问题,即地理API密钥,可用于这两个地方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" />  
+0

它不适合我,我不断地收到错误,你改变了别的吗? – Alvaro

+1

不,上面的代码片段为我工作。 – Qasim

+0

最后对我来说只是使用geo的元数据 – Alvaro

2

你会想要使用gradle与Placeholders

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

而在你的gradle产出增加

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

要添加发布和调试密钥更改您的gradle文件。您首先必须在Google Developer Console中制作API密钥。

应用插件: 'com.android.application'

android { 
signingConfigs { 

} 
compileSdkVersion 23 
buildToolsVersion "23.0.2" 
defaultConfig { 
    applicationId 'com.your.app' 
    minSdkVersion 19 
    targetSdkVersion 23 
    versionCode 1 
    versionName "1.0" 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     manifestPlaceholders = [ mapsKey:"AIzaxxxxxxxxxxxxxxxxxxxvcgdXNA"] 
    } 
    debug { 
     manifestPlaceholders = [ mapsKey:"AIzayyyyyyyyyyyyyyyyyyyyyyyC7NA"] 
    } 
} 
productFlavors { 
} 
} 

依赖性{ 编译文件树(包括:[ '的* .jar'],则dir: '库') testCompile“的junit:junit的: 4.12' compile'c​​om.android.support:appcompat-v7:23.1.1' compile'c​​om.android.support:design:23.1.1' compile'c​​om.google.android.gms:play-services:8.4 .0' }

0

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

相关问题