Настройка проекта Android Studio

В этой статье рассказывается, как настроить проект Android Studio для использования Maps SDK для Android, не применяя шаблон Google Карт, описанный в кратком руководстве.

Этот шаблон автоматически задает конфигурацию для проекта и добавляет базовую карту. Однако вы также можете добавить карту в проект Android, где используется другой шаблон Android Studio. Для этого необходимо вручную изменить настройки проекта, а затем добавить карту.

Шаг 1. Настройте Android Studio

  1. Вам потребуется Android Studio Arctic Fox или более поздняя версия. Если у вас нет этого инструмента, скачайте и установите его.
  2. Убедитесь что используете в Android Studio плагин Android Gradle 7.0 или более поздней версии.

2. Настройте SDK

Библиотека Maps SDK для Android доступна в репозитории Google Maven. Чтобы добавить SDK в свое приложение, выполните следующие действия:

  1. Добавьте портал плагина Gradle, репозиторий Google Maven и центральный репозиторий Maven в блок pluginManagement файла settings.gradle верхнего уровня. Блок pluginManagement должен находится над всеми операторами скрипта.
    pluginManagement {
        repositories {
            gradlePluginPortal()
            google()
            mavenCentral()
        }
    } 
  2. Добавьте репозиторий Google Maven в файл settings.gradle верхнего уровня и центральный репозиторий Maven в блок dependencyResolutionManagement:
    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
            mavenCentral()
        }
    } 
  3. В файле build.gradle на уровне модуля добавьте сервисы Google Play в качестве зависимого объекта Maps SDK для Android:
    dependencies {
        implementation 'com.google.android.gms:play-services-maps:18.0.2'
        // ...
    } 
  4. В файле build.gradle на уровне модуля присвойте compileSdk и minSdk следующие значения:
    android {
        compileSdk 31
    
        defaultConfig {
            minSdk 19
            // ...
        }

Шаг 3. Добавьте ключ API в проект

В этом разделе рассказывается, как настроить безопасный вызов ключа API вашим приложением. Вводить ключ API в систему управления версиями нежелательно, поэтому мы рекомендуем хранить его в файле local.properties, который находится в корневом каталоге проекта. Подробнее о файле local.properties рассказывается в описании файлов свойств Gradle.

Чтобы быстрее выполнить эту задачу, используйте плагин Secrets Gradle Plugin for Android. Чтобы установить плагин и настроить хранение ключа API, выполните следующие действия:

  1. В Android Studio откройте файл build.gradle уровня проекта и добавьте в элемент dependencies, принадлежащий элементу buildscript, указанный ниже код.
    plugins {
        // ...
        id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false
    }
  2. Откройте файл build.gradle уровня модуля и добавьте в элемент plugins указанный ниже код.
    id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
        
  3. Сохраните файл и синхронизируйте проект с Gradle.
  4. Откройте файл local.properties в каталоге уровня проекта и добавьте в этот файл приведенный ниже код. Укажите вместо YOUR_API_KEY свой ключ API.
    MAPS_API_KEY=YOUR_API_KEY
        
  5. Сохраните файл.
  6. В файле AndroidManifest.xml найдите раздел com.google.android.geo.API_KEY и измените android:value attribute следующим образом:
    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="${MAPS_API_KEY}" />
        

Примечание. Как показано выше, рекомендуемое имя метаданных для ключа API – com.google.android.geo.API_KEY. Ключ с таким именем может использоваться для аутентификации нескольких API созданных на основе Google Карт для платформы Android, включая Maps SDK for Android. Для обеспечения обратной совместимости API также поддерживает имя com.google.android.maps.v2.API_KEY. Это устаревшее имя обеспечивает аутентификацию только для Android Maps API версии 2. Приложение позволяет указать только одно из имен в метаданных ключа API. Если указаны оба имени, API вызывает исключение.

Шаг 4. Обновите манифест приложения

В этом разделе описаны настройки, которые необходимо добавить в файл AndroidManifest.xml.

Версия сервисов Google Play

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

<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />

Доступ к данным о местоположении

Если приложению требуется доступ к данным о местоположении пользователя, вы должны запросить разрешение в файле AndroidManifest.xml. Доступны следующие варианты: ACCESS_FINE_LOCATION (точное местоположение) и ACCESS_COARSE_LOCATION (менее точное). Дополнительную информацию вы можете найти в этом руководстве.

Чтобы запросить разрешение ACCESS_FINE_LOCATION, добавьте в элемент manifest следующий код:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

Разрешение на доступ к внешнему хранилищу

Если ваше приложение предназначено для SDK сервисов Google Play версии 8.3 или более поздней, вам больше не понадобится разрешение WRITE_EXTERNAL_STORAGE. Если же ваше приложение предназначено для более ранних версий, необходимо запросить разрешение WRITE_EXTERNAL_STORAGE в элементе manifest.

<uses-permission
        android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Библиотека Apache HTTP Legacy

Если вы используете версию com.google.android.gms:play-services-maps:16.0.0 или более ранние, но ваше приложение обращается к API 28-го уровня (Android 9.0) или более поздней версии, добавьте декларацию в элемент <application> файла AndroidManifest.xml. В остальных случаях декларацию добавлять не нужно.

<uses-library
    android:name="org.apache.http.legacy"
    android:required="false" />

Шаг 5. Настройте устройство Android

Чтобы запустить приложение с Maps SDK для Android, разверните его на устройстве Android или в эмуляторе ОС Android 4.0 или более поздней версии, поддерживающем API Google.

  • Инструкции по работе с устройством Android вы можете найти здесь.
  • Чтобы воспользоваться эмулятором Android, создайте виртуальное устройство и установите на него эмулятор с помощью Менеджера AVD, который доступен в Android Studio.

Что дальше

Завершив настройку проекта, вы сможете добавить карту в свое приложение.