1

Я использую API Карт Google v2 для API and Google и API Google Places, у обоих есть разные api-ключи для добавления в манифест, но когда я добавляю оба ключа, ключевая ошибка.Несколько ключей API для одного проекта Android Studio

Можно ли добавить два разных ключа для двух разных 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

Я решил проблему с помощью того же ключа GEO API как для v2 Google Maps и Google Places API, то есть апи ключ Geo может быть использован для оба места 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

Вы хотите использовать град с Placeholders.

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

А в вашем Gradle добавить

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

Чтобы добавить ключи выпуска и отладки, измените файл градиента. Сначала вам нужно сделать ключи API в консоли разработчика Google.

применить плагин: '' 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'], реж: 'ЛИЭС') JUnit testCompile»: JUnit: 4.12 ' compile' com.android.support:appcompat-v7:23.1.1 ' compile' com.android.support:design:23.1.1 ' compile' com.google.android.gms: play-services: 8.4 .0 ' }

0

Вы не должны использовать для этого несколько ключей. Вам просто нужно включить обе службы для одного и того же ключа API из консоли разработчиков. Думаю, this ответ проведет вас через этот процесс.

Смежные вопросы