Prerequisiti
- Installa la versione più recente dell'SDK Android utilizzando Android SDK Manager.
- Installa la versione più recente delle librerie AndroidX di appcompat e Mediarouter tramite il Manager SDK Android.
- Installa l'SDK Cast in Google Play services più recente 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 di analisi, autenticare gli utenti, integrare le mappe e molto altro ancora. Per ulteriori informazioni, consulta la Panoramica di Google Play Services. È importante assicurati che sia installato l'APK di Google Play Services corretto sul dispositivo di un utente, poiché gli aggiornamenti potrebbero non essere disponibili immediatamente per tutti gli utenti.
Aggiungi 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 per la tua app:
- Apri il file
build.gradle
nella 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 della tua applicazione. Per ulteriori informazioni su Gradle, consulta la pagina Creare il tuo progetto con Gradle. - Verifica che
google()
sia incluso neirepositories
elencati.repositories {
- Aggiungi una nuova regola di build in
dependencies
per l'ultima versione 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:21.5.0' }
Assicurati di aggiornare questo numero di versione ogni volta che viene aggiornato Google Play Services.
Nota: se il numero di riferimenti ai metodi nella tua app supera il limite di 65.000, l'app potrebbe non essere compilata. Potresti riuscire a limitare il problema durante la compilazione della tua app specificando solo le API Google Play Services specifiche utilizzate dalla tua app, anziché tutte. Per informazioni su come eseguire questa operazione, consulta l'articolo Compilazione selettiva delle API nell'eseguibile.
- Salva le modifiche e fai clic su Sync Project with Gradle Files nella barra degli strumenti.
Altro IDE
Per rendere disponibili le API di Google Play Services per la tua app:
- Copia il progetto della libreria da
<android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/
nella posizione in cui gestisci i tuoi progetti per app per Android. - Nel progetto dell'app, fai riferimento al progetto della libreria di Google Play Services. Per ulteriori informazioni al riguardo, consulta la sezione
Riferimento a un progetto libreria dalla riga di comando.
Nota: dovresti fare riferimento a una copia della libreria che hai copiato nell'area di lavoro di sviluppo. Non devi fare riferimento alla libreria direttamente dalla directory SDK Android.
- Dopo aver aggiunto la libreria di 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 le funzionalità con le API di Google Play Services.
Crea un'eccezione ProGuard
Per impedire a ProGuard di rimuovere le classi richieste, aggiungi le seguenti righe nel 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