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

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 serie di API per la creazione di annunci, la raccolta di dati di analisi, l'autenticazione degli utenti, l'integrazione di Maps e molto altro. Per maggiori informazioni, consulta la 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 l'ambiente di sviluppo di seguito e aggiungi Google Play Services al tuo progetto seguendo i passaggi forniti.

Android Studio

Per rendere disponibili le API Google Play Services per la tua app:

  1. Apri il file build.gradle nella directory del modulo dell'applicazione.

    Nota:i progetti di 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 Creare il progetto con Gradle.

  2. Verifica che google() sia incluso nei repositories elencati.
    repositories {
        google()
    }
  3. Aggiungi una nuova regola di build 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:22.3.1'
        }

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

    Nota: se il numero di riferimenti ai metodi nella tua app supera il limite di 65.000, la compilazione dell'app potrebbe non riuscire. Potresti essere in grado di mitigare questo problema durante la compilazione dell'app specificando solo le API Google Play Services specifiche utilizzate dall'app, anziché tutte. Per informazioni su come eseguire questa operazione, consulta Compilare selettivamente le API nell'eseguibile.

  4. Salva le modifiche e fai clic su Sincronizza progetto con file Gradle nella barra degli strumenti.

Altro IDE

Per rendere disponibili le API Google Play Services per la tua app:

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

    Nota:devi fare riferimento a una copia della libreria che hai copiato nel tuo workspace di sviluppo, non alla libreria direttamente dalla directory dell'SDK Android.

  3. Dopo aver aggiunto la libreria Google Play Services come dipendenza per il 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" />

Una volta configurato il progetto in modo che faccia riferimento al progetto della libreria, puoi iniziare a sviluppare funzionalità con le API Google Play Services.

Creare un'eccezione ProGuard

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

-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