Prerequisiti
- Installa la versione più recente dell'SDK Android utilizzando Android SDK Manager.
- Installa la versione più recente delle librerie AndroidX appcompat e mediarouter tramite Android SDK Manager.
- Installa l'SDK Cast più recente in Google Play Services tramite Android SDK Manager.
L'SDK Google Cast per Android fa parte dell'SDK Google Play Services e non deve essere scaricato separatamente.
Nota: Google Play Services ti consente di accedere a una gamma di API per creare annunci, raccogliere dati e analisi, autenticare gli utenti, integrare mappe e molto altro ancora. Per saperne di più, consulta la Panoramica di Google Play Services. È importante assicurarsi che l'APK di Google Play Services corretto sia installato sul dispositivo di un utente, 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 indicati.
Android Studio
Per rendere disponibili le API di Google Play Services per la tua app:
- 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 filebuild.gradle
per ogni modulo. Assicurati di modificare il file per il modulo dell'applicazione. Per ulteriori informazioni su Gradle, consulta Costruire il progetto con Gradle. - Verifica che
google()
sia incluso inrepositories
.repositories {
- Aggiungi una nuova regola di compilazione in
dependencies
per la versione più recente diplay-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.0.0' }
Assicurati di aggiornare questo numero di versione ogni volta che Google Play Services viene aggiornato.
Nota:se il numero di riferimenti ai metodi nell'app supera il limite di 65.000, la compilazione dell'app potrebbe non andare a buon fine. Potresti essere in grado di attenuare questo problema durante la compilazione dell'app specificando solo le API di Google Play Services specifiche utilizzate dall'app, anziché tutte. Per informazioni su come eseguire questa operazione, consulta Compilare selettivamente le API nel file eseguibile.
- Salva le modifiche e fai clic su Sincronizza progetto con i file Gradle nella barra degli strumenti.
Altro IDE
Per rendere disponibili le API di Google Play Services per la tua app:
- 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. - Nel progetto dell'app, fai riferimento al progetto della libreria Google Play Services. Per scoprire di più su come eseguire questa operazione, consulta la sezione
Eseguire il riferimento a un progetto di libreria sulla riga di comando.
Nota: devi fare riferimento a una copia della libreria che hai copiato nello spazio di lavoro di sviluppo. Non devi fare riferimento alla libreria direttamente dalla directory dell'SDK Android.
- 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" />
Dopo aver configurato il progetto in modo che faccia riferimento al progetto della libreria, puoi iniziare a sviluppare funzionalità con le API di Google Play Services.
Creare un'eccezione Proguard
Per impedire a ProGuard di rimuovere le classi richieste, aggiungi le seguenti righe al 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