Configuration pour le développement avec le framework d'application Cast (CAF) pour Android

Conditions préalables

Le SDK Google Cast pour Android fait partie du SDK des services Google Play et n'a pas besoin d'être téléchargé séparément.

Remarque: Les services Google Play vous donnent accès à plusieurs API permettant de créer des annonces, de collecter des données analytiques, d'authentifier les utilisateurs, d'intégrer des cartes, etc. Pour en savoir plus, consultez la page Présentation des services Google Play. Il est important de vous assurer que l'APK des services Google Play approprié est installé sur l'appareil de l'utilisateur, car il est possible que les mises à jour ne parviennent pas à tous les utilisateurs immédiatement.

Ajouter les services Google Play à votre projet

Sélectionnez votre environnement de développement ci-dessous et ajoutez les services Google Play à votre projet en suivant les étapes indiquées.

Android Studio

Pour que les API des services Google Play soient disponibles pour votre application:

  1. Ouvrez le fichier build.gradle dans le répertoire du module de votre application.

    Remarque:Les projets Android Studio contiennent un fichier build.gradle de premier niveau et un fichier build.gradle pour chaque module. Veillez à modifier le fichier pour votre module d'application. Pour en savoir plus sur Gradle, consultez Compiler votre projet avec Gradle.

  2. Vérifiez que google() est inclus dans la liste repositories.
    repositories {
        google()
    }
    
  3. Ajoutez une règle de compilation sous dependencies pour la dernière version de play-services. Exemple :
    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'
        }
    

    Veillez à mettre à jour ce numéro de version chaque fois que les services Google Play sont mis à jour.

    Remarque:Si le nombre de références de méthodes dans votre application dépasse la limite de 65 000, la compilation de votre application peut échouer. Vous pouvez peut-être atténuer ce problème lors de la compilation de votre application en ne spécifiant que les API des services Google Play spécifiques qu'elle utilise, et non toutes les API. Pour savoir comment procéder, consultez la section Compilation sélective des API dans le fichier exécutable.

  4. Enregistrez les modifications et cliquez sur Sync Project with Gradle Files (Synchroniser le projet avec les fichiers Gradle) dans la barre d'outils.

Autre IDE

Pour que les API des services Google Play soient disponibles pour votre application:

  1. Copiez le projet de bibliothèque sous <android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/ à l'emplacement où vous gérez vos projets d'application Android.
  2. Dans votre projet d'application, référencez le projet de la bibliothèque de services Google Play. Pour en savoir plus sur la procédure à suivre, consultez la page Faire référence à un projet de bibliothèque via la ligne de commande.

    Remarque:Vous devez référencer une copie de la bibliothèque que vous avez copiée dans votre espace de travail de développement. Vous ne devez pas référencer la bibliothèque directement à partir du répertoire du SDK Android.

  3. Après avoir ajouté la bibliothèque de services Google Play en tant que dépendance pour votre projet d'application, ouvrez le fichier manifeste de votre application et ajoutez la balise suivante en tant qu'enfant de l'élément <application> :
    <meta-data android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />
    

Une fois que vous avez configuré votre projet pour référencer le projet de bibliothèque, vous pouvez commencer à développer des fonctionnalités avec les API des services Google Play.

Créer une exception ProGuard

Pour empêcher ProGuard de supprimer les classes requises, ajoutez les lignes suivantes dans le fichier /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