Configurare un progetto Android Studio

In questa pagina viene descritto come configurare un progetto Android Studio per utilizzare l'SDK Maps per Android senza usare il modello di Google Maps descritto nella guida rapida.

Il modello di Google Maps si configura automaticamente e aggiunge una mappa di base a un nuovo progetto Android Studio. Tuttavia, puoi anche aggiungere una mappa a un progetto Android che utilizza un modello di Android Studio diverso. Per farlo, devi configurare manualmente il progetto e poi aggiungere la mappa.

Passaggio 1: configura Android Studio

  1. È necessario Android Studio Arctic Fox o versioni successive. Se non lo hai già fatto, scaricalo e installalo.
  2. Assicurati di utilizzare il plug-in Android per Gradle 7.0 o versioni successive in Android Studio.

Passaggio 2. Configura l'SDK

L'SDK Maps per Android è disponibile nel repository Maven di Google. Per aggiungere l'SDK alla tua app, procedi nel seguente modo:

  1. Nel file di primo livello settings.gradle, includi il portale del plug-in Gradle, il repository Google Maven e il repository centrale Maven nel blocco pluginManagement. Il blocco pluginManagement deve apparire prima di qualsiasi altra istruzione nello script.
    pluginManagement {
        repositories {
            gradlePluginPortal()
            google()
            mavenCentral()
        }
    } 
  2. Nel file di primo livello settings.gradle, includi il repository Maven di Google e il repository centrale Maven nel blocco dependencyResolutionManagement:
    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
            mavenCentral()
        }
    } 
  3. Nel file build.gradle a livello di modulo, aggiungi la dipendenza Google Play Services per l'SDK di Maps per Android.
    dependencies {
        implementation 'com.google.android.gms:play-services-maps:18.1.0'
        // ...
    } 
  4. Nel file build.gradle a livello di modulo, imposta compileSdk e minSdk sui seguenti valori:
    android {
        compileSdk 31
    
        defaultConfig {
            minSdk 19
            // ...
        }

Passaggio 3: aggiungi la chiave API al progetto

Questa sezione descrive come archiviare la chiave API in modo che sia possibile farvi riferimento in modo sicuro dalla tua app. Non dovresti controllare la chiave API nel sistema di controllo della versione, quindi ti consigliamo di archiviarla nel file local.properties, che si trova nella directory principale del progetto. Per ulteriori informazioni sul file local.properties, consulta File delle proprietà di Gradle.

Per semplificare questa attività, ti consigliamo di utilizzare il plug-in Secrets Gradle per Android. Per installare il plug-in e archiviare la chiave API:

  1. In Android Studio, apri il file build.gradle a livello di progetto e aggiungi il codice seguente all'elemento dependencies in buildscript.
    plugins {
        // ...
        id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false
    }
  2. Quindi, apri il file build.gradle a livello di modulo e aggiungi il seguente codice all'elemento plugins.
    id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
        
  3. Salva il file e sincronizza il tuo progetto con Gradle.
  4. Apri local.properties nella directory a livello di progetto e aggiungi il codice seguente. Sostituisci YOUR_API_KEY con la tua chiave API.
    MAPS_API_KEY=YOUR_API_KEY
        
  5. Salva il file.
  6. Nel file AndroidManifest.xml, vai a com.google.android.geo.API_KEY e aggiorna android:value attribute come segue:
    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="${MAPS_API_KEY}" />
        

Nota: come mostrato sopra, com.google.android.geo.API_KEY è il nome di metadati consigliato per la chiave API. Una chiave con questo nome può essere utilizzata per eseguire l'autenticazione su più API basate su Google Maps sulla piattaforma Android, incluso l'SDK Maps per Android. Per la compatibilità con le versioni precedenti, l'API supporta anche il nome com.google.android.maps.v2.API_KEY. Questo nome legacy consente l'autenticazione soltanto nella versione 2 dell'API Android Maps. Un'applicazione può specificare solo uno dei nomi di metadati della chiave API. Se entrambi sono specificati, l'API genera un'eccezione.

Passaggio 4: aggiorna il file manifest dell'app

In questa sezione vengono descritte le impostazioni da aggiungere al file AndroidManifest.xml.

Numero di versione di Google Play Services

Aggiungi la dichiarazione seguente all'elemento application. In questo modo è incorporata la versione di Google Play Services con cui è stata compilata l'app.

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

Autorizzazione di accesso alla posizione

Se la tua app deve accedere alla posizione dell'utente, devi richiedere l'autorizzazione di accesso alla posizione nel file AndroidManifest.xml. Le opzioni sono ACCESS_FINE_LOCATION, che fornisce la posizione esatta del dispositivo, e ACCESS_COARSE_LOCATION, che è meno precisa. Per informazioni dettagliate, consulta la guida sui dati sulla posizione.

Per richiedere l'autorizzazione ACCESS_FINE_LOCATION, aggiungi questo codice all'elemento manifest:

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

Autorizzazione per lo spazio di archiviazione esterno

Se scegli come target la versione 8.3 o successive dell'SDK Google Play Services, non hai bisogno dell'autorizzazione WRITE_EXTERNAL_STORAGE. Se scegli come target versioni precedenti dell'SDK Google Play Services, devi richiedere l'autorizzazione WRITE_EXTERNAL_STORAGE nell'elemento manifest.

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

Libreria legacy HTTP Apache

Se utilizzi com.google.android.gms:play-services-maps:16.0.0 o versioni precedenti e la tua app ha il livello API target 28 (Android 9.0) o versioni successive, devi includere la seguente dichiarazione nell'elemento <application> di AndroidManifest.xml. Altrimenti, ignora questa dichiarazione.

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

Passaggio 5: configura un dispositivo Android

Per eseguire un'app che utilizza l'SDK Maps per Android, devi eseguirne il deployment su un dispositivo Android o nell'emulatore Android basato su Android 4.0 o versioni successive e che include le API di Google.

  • Per utilizzare un dispositivo Android, segui le istruzioni su come eseguire app su un dispositivo hardware.
  • Per utilizzare un emulatore Android, puoi creare un dispositivo virtuale e installare l'emulatore utilizzando Android Virtual Device (AVD) Manager fornito con Android Studio.

Passaggi successivi

Dopo aver configurato il progetto, puoi aggiungere una mappa.