Configurazione della libreria di supporto

Nota: con la release di Android 9.0 (livello API 28) è disponibile una nuova versione della libreria di supporto chiamata AndroidX, che fa parte di Jetpack. La libreria AndroidX contiene la libreria di supporto esistente e include anche i componenti Jetpack più recenti.

Puoi continuare a usare la libreria di assistenza. Gli artefatti storici (quelli con versione 27 e versioni precedenti e pacchettizzati come android.support.*) rimarranno disponibili in Google Maven. Tuttavia, tutto lo sviluppo delle nuove librerie avverrà nella libreria AndroidX.

Ti consigliamo di utilizzare le librerie AndroidX in tutti i nuovi progetti. Dovresti anche prendere in considerazione la migrazione dei progetti esistenti ad AndroidX.

La modalità di configurazione delle librerie di assistenza Android nel progetto di sviluppo dipende dalle funzionalità che vuoi utilizzare e dalla gamma di versioni della piattaforma Android che vuoi supportare con la tua applicazione.

Questo documento illustra come scaricare il pacchetto Support Library e aggiungere librerie al tuo ambiente di sviluppo.

Le librerie di assistenza sono ora disponibili tramite il repository Maven di Google. Non supportiamo più il download delle librerie tramite SDK Manager e questa funzionalità verrà rimossa a breve.

Scelta delle librerie di assistenza

Prima di aggiungere una libreria di assistenza all'applicazione, decidi quali funzionalità includere e le versioni più basse di Android che vuoi supportare. Per maggiori informazioni sulle funzionalità fornite dalle diverse librerie, consulta la pagina relativa alle funzionalità della libreria di supporto.

Aggiunta di librerie di assistenza

Per utilizzare una libreria di supporto, devi modificare le dipendenze classpath del progetto dell'applicazione all'interno dell'ambiente di sviluppo. Devi eseguire questa procedura per ogni libreria di supporto che vuoi utilizzare.

Per aggiungere una libreria di supporto al progetto della tua applicazione:

  1. Includi il Repository Maven di Google nel file settings.gradle del tuo progetto.
    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
    
            // If you're using a version of Gradle lower than 4.1, you must
            // instead use:
            //
            // maven {
            //     url 'https://maven.google.com'
            // }
        }
    }
    
  2. Per ogni modulo in cui intendi utilizzare una libreria di supporto, aggiungi la libreria nel blocco dependencies del file build.gradle del modulo. Ad esempio, per aggiungere la libreria core-utils v4, aggiungi quanto segue:
    dependencies {
        ...
        implementation "com.android.support:support-core-utils:28.0.0"
    }
    

Attenzione: l'utilizzo di dipendenze dinamiche (ad esempio palette-v7:23.0.+) può causare aggiornamenti imprevisti delle versioni e incompatibilità di regressione. Ti consigliamo di specificare esplicitamente una versione della libreria (ad esempio, palette-v7:28.0.0).

Utilizzo delle API Support Library

Le classi della libreria di supporto che supportano le API framework esistenti in genere hanno lo stesso nome della classe del framework, ma si trovano nei pacchetti di classe android.support o hanno un suffisso *Compat.

Attenzione: quando utilizzi le classi della libreria di supporto, assicurati di importarle dal pacchetto appropriato. Ad esempio, quando applichi la classe ActionBar:

  • android.support.v7.app.ActionBar quando usi la libreria di assistenza.
  • android.app.ActionBar durante lo sviluppo solo per il livello API 11 o superiore.

Nota: dopo aver incluso la libreria di supporto nel progetto dell'applicazione, ti consigliamo vivamente di ridurre, offuscare e ottimizzare la tua app per la release. Oltre a proteggere il codice sorgente con l'offuscamento, la riduzione rimuove le classi inutilizzate da tutte le librerie che includi nell'applicazione, riducendo al minimo le dimensioni di download dell'applicazione.

Ulteriori indicazioni sull'utilizzo di alcune funzionalità della libreria di assistenza sono disponibili nei corsi di formazione, nelle guide e negli esempi per sviluppatori Android. Per maggiori informazioni sulle singole classi e sui singoli metodi della Support Library, consulta i pacchetti android.support nel riferimento dell'API.

Modifiche alla dichiarazione del file manifest

Se stai aumentando la compatibilità con le versioni precedenti della tua applicazione esistente a una versione precedente dell'API Android con la libreria di supporto, assicurati di aggiornare il manifest dell'applicazione. In particolare, devi aggiornare l'elemento android:minSdkVersion del tag <uses-sdk> nel file manifest al nuovo numero di versione inferiore, come mostrato di seguito:

  <uses-sdk
      android:minSdkVersion="14"
      android:targetSdkVersion="23" />

L'impostazione del file manifest indica a Google Play che l'applicazione può essere installata su dispositivi con Android 4.0 (livello API 14) e versioni successive.

Se utilizzi file di build Gradle, l'impostazione minSdkVersion nel file di build sostituisce le impostazioni del manifest.

plugins {
  id 'com.android.application'
}

android {
    ...

    defaultConfig {
        minSdkVersion 16
        ...
    }
    ...
}

In questo caso, l'impostazione del file di build indica a Google Play che la variante di build predefinita dell'applicazione può essere installata su dispositivi con Android 4.1 (livello API 16) e versioni successive. Per maggiori informazioni sulle varianti di build, consulta la panoramica del sistema di build.

Nota: se includi diverse librerie di supporto, la versione minima dell'SDK deve essere la versione più elevata richiesta da una qualsiasi delle librerie specificate. Ad esempio, se la tua app include sia la libreria di supporto delle preferenze v14 sia la libreria Leanback v17, la versione minima dell'SDK deve essere 17 o successiva.