Все библиотеки gms должны использовать одну и ту же версию с местами и картами

Я использовал версию play-service-maps-8.1.0 для своего приложения Google Map для Android. Затем я пытаюсь добавить новую службу Google Place 1.0.0. Теперь это дает мне, что все библиотеки gms должны быть одной и той же ошибкой версии. Я не могу найти какой-либо картографический сервис в справочниках по новым сервисам Google.

implementation 'com.google.android.gms:play-services-maps:8.1.0'
implementation 'com.google.android.gms:play-services-maps:16.1.0'
implementation 'com.google.android.gms:play-services-maps:16.0.0'
implementation 'com.google.android.gms:play-services-maps:16.0.1'

никто из них не работает с

implementation 'com.google.android.libraries.places:places:1.0.0'

Как я могу работать с сервисами мест и карт в одном приложении?

Все мои зависимости от Gradle.

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.squareup.okhttp3:okhttp:3.9.1'
    implementation 'com.google.code.gson:gson:2.8.5'
    implementation 'com.android.support:design:26.1.0'

    implementation 'com.google.android.gms:play-services-maps:8.1.0'
    implementation 'com.google.android.libraries.places:places:1.0.0'
}

Не могли бы вы добавить всеdependencies из build.gradle?

Martin Zeitler 11.04.2019 02:47
1
1
73
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

см. места:1.0.0: он втягивается play-services-maps:16.0.0 сам по себе -

и места: 1.1.0 делает то же самое с play-services-maps:16.1.0.


Вам нужно добавить это в корневой проект buildscriptdependencies:

classpath "com.google.gms:google-services:4.2.0"

и это будет Java модуля dependencies:

dependencies {
    implementation "com.android.support:design:28.0.0"
    implementation "com.android.support:support-v4:28.0.0"
    implementation "com.android.support:appcompat-v7:28.0.0"
    implementation "com.android.support.constraint:constraint-layout:1.1.3"
    implementation ("com.google.android.libraries.places:places:1.1.0") {
        exclude group: "com.android.support"
    }
    implementation "com.squareup.okhttp3:okhttp:3.12.1"
    implementation "com.google.code.gson:gson:2.8.5"

    testImplementation "junit:junit:4.12"
    androidTestImplementation "com.android.support.test:runner:1.0.2"
    androidTestImplementation "com.android.support.test.espresso:espresso-core:3.0.2"
}

apply plugin: "com.google.gms.google-services"

Для Places, без каких-либо зависимостей Firebase или плагина Play Services, вам все равно нужно добавить как минимум эти два ресурса string (тем не менее, проект необходимо настроить на Firebase, чтобы получить требуемый google_services.json, который содержит значения для заменить):

<?xml version = "1.0" encoding = "utf-8"?>
<resources>

    <! -- Present in all applications -->
    <string name = "google_app_id" translatable = "false">YOUR_GOOGLE_APP_ID</string>

    <! -- Present in applications with the appropriate services configured -->
    <string name = "google_api_key" translatable = "false">YOUR_MAPS_API_KEY</string>

</resources>

см. документация.

Должен ли я отредактировать свой предыдущий код для новой версии сервисов и удалить реализацию gms?

comeonalready 11.04.2019 09:05

все еще получаю ту же ошибку. когда я пытаюсь использовать карту маршрутов, он говорит, что обновите игровые сервисы, но места работают. когда я удаляю места, карта работает..

comeonalready 11.04.2019 10:29

@comeonalready places:1.1.0 даже подтягивается play-services-base:16.1.0 (обновлять нечего) ...но нужно еще применить плагин и добавить google_services.json в проект.

Martin Zeitler 11.04.2019 10:43

для применения плагина google-services нужен google_services.json, но я не использую firebase. я просто не могу сделать это с этими инструкциями. ни один из способов не работает для меня.

comeonalready 11.04.2019 13:12

я знаю, что ты прав. вы решаете проблему, но я не знаю, что не так, теперь она просто не работает :). я принимаю ваш ответ, потому что это информация, в которой нуждается вопрос. извините, если что-то не так :)

comeonalready 11.04.2019 18:58

@comeonalready Я думаю, вам все равно нужно настроить проект на Firebase, чтобы получить google_services.json... откуда вы можете извлечь эти два значения. без добавления google_app_id он не может получить доступ к places.

Martin Zeitler 11.04.2019 19:55

Другие вопросы по теме