Configurazione per lo sviluppo con Cast Application Framework (CAF) per Android

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Prerequisiti

L'SDK Google Cast per Android fa parte dell'SDK Google Play Services e non deve essere scaricato separatamente.

Nota: Google Play Services ti dà accesso a una gamma di API per la creazione di annunci, la raccolta di dati e analisi, l'autenticazione degli utenti, l'integrazione di mappe e molto altro. Per ulteriori informazioni, consulta la pagina Panoramica di Google Play Services. È importante assicurarsi che sul dispositivo di un utente sia installato l'APK di Google Play Services corretto, poiché gli aggiornamenti potrebbero non raggiungere immediatamente tutti gli utenti.

Aggiungere Google Play Services al progetto

Seleziona il tuo ambiente di sviluppo di seguito e aggiungi Google Play Services al progetto seguendo i passaggi forniti.

Android Studio

Per rendere disponibili le API di Google Play Services nella tua app:

  1. Apri il file build.gradle all'interno della directory del modulo dell'applicazione.

    Nota: i progetti Android Studio contengono un file build.gradle di primo livello e un file build.gradle per ogni modulo. Assicurati di modificare il file per il modulo dell'applicazione. Per ulteriori informazioni su Gradle, consulta Creazione del progetto con Gradle.

  2. Verifica che google() sia incluso nell'elenco repositories elencato.
    repositories {
        google()
    }
    
  3. Aggiungi una nuova regola di compilazione in dependencies per l'ultima versione di play-services. Ad esempio:
    apply plugin: 'com.android.application'
        ...
    
        dependencies {
            implementation 'androidx.appcompat:appcompat:1.3.1'
            implementation 'androidx.mediarouter:mediarouter:1.2.5'
            implementation 'com.google.android.gms:play-services-cast-framework:21.2.0'
        }
    

    Assicurati di aggiornare questo numero di versione ogni volta che Google Play Services viene aggiornato.

    Nota: se il numero di riferimenti al metodo nella tua app supera il limite di 65.000, l'app potrebbe non essere compilata. Potresti essere in grado di mitigare questo problema durante la compilazione della tua app specificando solo le API di Google Play Services specifiche utilizzate dall'app, invece di tutte. Per informazioni su come eseguire questa operazione, consulta l'articolo Compilazione selettiva delle API nel tuo eseguibile.

  4. Salva le modifiche e fai clic su Sync Project with Gradle Files (Sincronizza il progetto con i file Gradle) nella barra degli strumenti.

Altro IDE

Per rendere disponibili le API di Google Play Services nella tua app:

  1. Copia il progetto della libreria all'indirizzo <android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/ nella posizione in cui gestisci i progetti delle tue app Android.
  2. Nel progetto della tua app, fai riferimento al progetto della libreria di Google Play Services. Per ulteriori informazioni su come eseguire questa operazione, consulta la pagina Riferimento di un progetto di libreria dalla riga di comando.

    Nota: fai riferimento a una copia della libreria che hai copiato nell'area di lavoro di sviluppo: non fare riferimento alla libreria direttamente dalla directory degli SDK Android.

  3. Dopo aver aggiunto la libreria di Google Play Services come dipendenza per il tuo progetto dell'app, apri il file manifest dell'app e aggiungi il seguente tag come elemento secondario dell'elemento <application>:
    <meta-data android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />
    

Dopo aver configurato il progetto come riferimento per la libreria, puoi iniziare a sviluppare funzionalità con le API di Google Play Services.

Creare un'eccezione ProGuard

Per impedire a ProGuard di rimuovere i corsi richiesti, aggiungi le seguenti righe nel file /proguard-project.txt:

-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
    public static final *** NULL;
}

-keepnames class * implements android.os.Parcelable
-keepclassmembers class * implements android.os.Parcelable {
  public static final *** CREATOR;
}

-keep @interface android.support.annotation.Keep
-keep @android.support.annotation.Keep class *
-keepclasseswithmembers class * {
  @android.support.annotation.Keep <fields>;
}
-keepclasseswithmembers class * {
  @android.support.annotation.Keep <methods>;
}

-keep @interface com.google.android.gms.common.annotation.KeepName
-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
  @com.google.android.gms.common.annotation.KeepName *;
}

-keep @interface com.google.android.gms.common.util.DynamiteApi
-keep public @com.google.android.gms.common.util.DynamiteApi class * {
  public <fields>;
  public <methods>;
}

-dontwarn android.security.NetworkSecurityPolicy