Konfigurowanie projektu na Androida Studio

Na tej stronie dowiesz się, jak skonfigurować projekt Android Studio tak, aby używał Maps SDK na Androida bez użycia szablonu Map Google omówiono to w krótkim wprowadzeniu.

Szablon Map Google automatycznie konfiguruje i dodaje podstawową mapę do nowego projekt Android Studio. Możesz też dodać mapę do projektu na Androida. który korzysta z innego szablonu w Android Studio. W tym celu musisz ręcznie skonfiguruj projekt, a następnie dodaj mapę.

Krok 1. Skonfiguruj Android Studio

W tym dokumencie opisujemy środowisko programistyczne, w którym Android Studio Hedgehog oraz Wtyczka Androida do obsługi Gradle wersji 8.2.

Krok 2. Konfigurowanie pakietu SDK

Biblioteka Maps SDK na Androida jest dostępna repozytorium Google Maven. Do Dodaj pakiet SDK do swojej aplikacji, wykonaj te czynności:

  1. W pliku settings.gradle.kts najwyższego poziomu umieść w nim portal wtyczek Gradle, repozytorium Google Maven, i centralne repozytorium Maven. w ramach bloku pluginManagement. Blok pluginManagement musi występować przed innymi stwierdzeniami w skrypcie.
    pluginManagement {
        repositories {
            gradlePluginPortal()
            google()
            mavenCentral()
        }
    } 
  2. W pliku settings.gradle.kts najwyższego poziomu umieść w nim Repozytorium Google Maven i centralne repozytorium Maven. w bloku dependencyResolutionManagement:
    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
            mavenCentral()
        }
    } 
  3. W pliku build.gradle.kts lub build.gradle na poziomie modułu dodaj parametry Zależność od Usług Google Play w przypadku: SDK Maps na Androida.

    Kotlin

    dependencies {
    
        // Maps SDK for Android
        implementation("com.google.android.gms:play-services-maps:19.0.0")
    }

    Zakręcony

    dependencies {
    
        // Maps SDK for Android
        implementation "com.google.android.gms:play-services-maps:19.0.0"
    }
  4. W pliku build.gradle.kts lub build.gradle na poziomie modułu ustaw compileSdk i minSdk na te wartości:

    Kotlin

    android {
        compileSdk = 34
    
        defaultConfig {
            minSdk = 21
            // ...
        }
    }

    Zakręcony

    android {
        compileSdk 34
    
        defaultConfig {
            minSdk 21
            // ...
        }
    }
  5. W sekcji buildFeatures na poziomie modułu: build.gradle.kts lub build.gradle, dodaj klasę BuildConfig, której możesz użyć do uzyskać dostęp do wartości metadanych określonych w dalszej części tej procedury:

    Kotlin

    android {
      // ...
      buildFeatures {
        buildConfig = true
        // ...
      }
    }

    Zakręcony

    android {
      // ...
      buildFeatures {
        buildConfig true
        // ...
      }
    }

Krok 3. Dodaj klucz interfejsu API do projektu

W tej sekcji opisano, jak zapisać klucz interfejsu API, aby umożliwić bezpieczne korzystanie z niego do aplikacji. Nie sprawdzaj klucza interfejsu API w systemie kontroli wersji, dlatego zalecamy i przechowywanie go w pliku secrets.properties, który znajduje się w katalogu głównym instancji w projektach AI. Więcej informacji o pliku secrets.properties znajdziesz tutaj: Pliki właściwości Gradle.

Aby usprawnić to zadanie, zalecamy skorzystanie z Wtyczka Gradle obiektów tajnych na Androida.

Aby zainstalować wtyczkę Gradle obiektów tajnych na Androida w projekcie Map Google:

  1. W Android Studio otwórz build.gradle.kts lub build.gradle najwyższego poziomu. i dodaj ten kod do elementu dependencies pod buildscript

    Kotlin

    buildscript {
        dependencies {
            classpath("com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1")
        }
    }

    Zakręcony

    buildscript {
        dependencies {
            classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1"
        }
    }
    
  2. Otwórz plik build.gradle.kts lub build.gradle na poziomie modułu i dodaj ten kod do elementu plugins.

    Kotlin

    plugins {
        // ...
        id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
    }

    Zakręcony

    plugins {
        // ...
        id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
    }
  3. W pliku build.gradle.kts lub build.gradle na poziomie modułu sprawdź, że wartości targetSdk i compileSdk są ustawione do 34.
  4. Zapisz plik i zsynchronizować projekt z Gradle.
  5. Otwórz plik secrets.properties w katalogu najwyższego poziomu, a następnie dodaj tego kodu. Zastąp YOUR_API_KEY swoim kluczem interfejsu API. Przechowuj klucz w tym pliku ponieważ secrets.properties nie jest sprawdzany w kontroli wersji systemu.
    MAPS_API_KEY=YOUR_API_KEY
  6. Zapisz plik.
  7. Utwórz plik local.defaults.properties w katalogu najwyższego poziomu, tak samo jako plik secrets.properties, a potem dodaj podany niżej kod.

    MAPS_API_KEY=DEFAULT_API_KEY

    Ten plik ma na celu udostępnienie zapasowej lokalizacji klucza interfejsu API, jeśli plik Nie znaleziono pliku secrets.properties, więc kompilacje nie zawierają błędów. Może się tak zdarzyć, jeśli sklonujesz aplikację z systemu kontroli wersji, który pomija secrets.properties oraz nie utworzyłeś jeszcze lokalnie pliku secrets.properties, który umożliwi przesyłanie klucz interfejsu API.

  8. Zapisz plik.
  9. W pliku AndroidManifest.xml otwórz com.google.android.geo.API_KEY i zaktualizuj android:value attribute. Jeśli tag <meta-data> nie istnieje, utwórz go jako element podrzędny tagu <application>.
    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="${MAPS_API_KEY}" />

    Uwaga: Zalecana nazwa metadanych to com.google.android.geo.API_KEY dla klucza interfejsu API. Klucz o tej nazwie może być używany do uwierzytelniania w wielu Interfejsy API oparte na Mapach Google na platformie Android, w tym Maps SDK na Androida. Aby zapewnić zgodność wsteczną, interfejs API obsługuje nazwę com.google.android.maps.v2.API_KEY. To dziedzictwo name umożliwia uwierzytelnianie tylko dla interfejsu Android Maps API v2. Aplikacja może określać tylko jedną z nazw metadanych klucza interfejsu API. Jeśli określono oba te parametry, zgłasza wyjątek.

  10. W Android Studio otwórz build.gradle.kts na poziomie modułu lub build.gradle i edytuj właściwość secrets. Jeśli Właściwość secrets nie istnieje. Dodaj ją.

    Edytuj właściwości wtyczki, aby ustawić propertiesFileName na secrets.properties, ustaw defaultPropertiesFileName na local.defaults.properties i ustaw pozostałe właściwości.

    Kotlin

    secrets {
        // To add your Maps API key to this project:
        // 1. If the secrets.properties file does not exist, create it in the same folder as the local.properties file.
        // 2. Add this line, where YOUR_API_KEY is your API key:
        //        MAPS_API_KEY=YOUR_API_KEY
        propertiesFileName = "secrets.properties"
    
        // A properties file containing default secret values. This file can be
        // checked in version control.
        defaultPropertiesFileName = "local.defaults.properties"
    
        // Configure which keys should be ignored by the plugin by providing regular expressions.
        // "sdk.dir" is ignored by default.
        ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore"
        ignoreList.add("sdk.*")       // Ignore all keys matching the regexp "sdk.*"
    }
            

    Zakręcony

    secrets {
        // To add your Maps API key to this project:
        // 1. If the secrets.properties file does not exist, create it in the same folder as the local.properties file.
        // 2. Add this line, where YOUR_API_KEY is your API key:
        //        MAPS_API_KEY=YOUR_API_KEY
        propertiesFileName = "secrets.properties"
    
        // A properties file containing default secret values. This file can be
        // checked in version control.
        defaultPropertiesFileName = "local.defaults.properties"
    
        // Configure which keys should be ignored by the plugin by providing regular expressions.
        // "sdk.dir" is ignored by default.
        ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore"
        ignoreList.add("sdk.*")       // Ignore all keys matching the regexp "sdk.*"
    }
            

Krok 4. Zaktualizuj plik manifestu aplikacji

W tej sekcji opisano ustawienia, które należy dodać do AndroidManifest.xml.

Numer wersji Usług Google Play

Dodaj poniższą deklarację w elemencie application. Ten kod obejmuje wersję Usług Google Play, z którą aplikacja została skompilowana.

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

Dostęp do lokalizacji

Jeśli aplikacja musi mieć dostęp do lokalizacji użytkownika, musisz poprosić o dostęp dostęp do lokalizacji w pliku AndroidManifest.xml. Dostępne opcje ACCESS_FINE_LOCATION, która podaje dokładną lokalizację urządzenia, ACCESS_COARSE_LOCATION, co jest mniej dokładne. Więcej informacji: danych o lokalizacji.

Aby poprosić o uprawnienie ACCESS_FINE_LOCATION, dodaj ten kod do sekcji Element manifest:

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

Uprawnienia dostępu do pamięci zewnętrznej

Jeśli kierujesz pakiet SDK Usług Google Play na wersję 8.3 lub nowszą, nie potrzebujesz uprawnienia WRITE_EXTERNAL_STORAGE. Jeśli kierujesz reklamy starszych wersji pakietu SDK Usług Google Play, musisz poprosić o WRITE_EXTERNAL_STORAGE w elemencie manifest.

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

Starsza biblioteka Apache HTTP

Jeśli korzystasz z konta com.google.android.gms:play-services-maps:16.0.0 lub starszej aplikacja jest kierowana na interfejs API na poziomie 28 (Android 9.0) lub wyższym, musisz uwzględnić następującą deklarację w elemencie <application> funkcji AndroidManifest.xml W przeciwnym razie pomiń tę deklarację.

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

Krok 5. Skonfiguruj urządzenie z Androidem

Aby uruchomić aplikację, która korzysta z pakietu Maps SDK na Androida, musisz ją wdrożyć na urządzeniu z Androidem lub na urządzeniu z Androidem emulator oparty na Androidzie 5.0 lub nowszym i obejmuje interfejsów API Google.

  • Aby użyć urządzenia z Androidem, postępuj zgodnie z instrukcjami na stronie Uruchamianie aplikacji na urządzeniu
  • Aby użyć emulatora Androida, możesz utworzyć urządzenie wirtualne i zainstalować emulator za pomocą: Menedżer urządzeń wirtualnych z Androidem (AVD), dostępne w Android Studio.

Krok 6. Opcjonalnie sprawdź, czy masz dostęp do zespołu pomocy Usługi Google Play

Maps SDK na Androida wymaga, by urządzenie, na którym wdrożysz ma zainstalowane Usługi Google Play. Google udostępnia metodę, za pomocą której może zadzwonić z aplikacji, aby to sprawdzić. Więcej informacji znajdziesz w sekcji Sprawdzanie, czy Google Usługi Google Play są zainstalowane.

Dalsze kroki

Po skonfigurowaniu projektu możesz dodać mapę.