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

Prérequis

Le SDK Google Cast pour Android fait partie du SDK des services Google Play. vous n'avez pas besoin de la télécharger séparément.

Remarque: Les services Google Play vous donnent accès à plusieurs des API pour créer des annonces, collecter des données analytiques, authentifier les utilisateurs l’intégration de cartes, et bien plus encore. Pour en savoir plus, consultez la page Présentation de Google Play Services. Il est important de vous assurer que le bon fichier APK des services Google Play est installé sur l'appareil d'un 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 d'ici le en suivant la procédure indiquée.

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 build.gradle et un fichier build.gradle pour chaque module. N'oubliez pas modifiez le fichier pour votre module d'application. Voir "Compiler votre projet avec Gradle" pour en savoir plus sur 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 Par 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 65 000, il est possible que votre application ne parvienne pas compiler. Vous pouvez peut-être atténuer ce problème lors de la compilation de votre application en spécifiant uniquement les API des services Google Play spécifiques que votre application utilise, plutôt que toutes. Pour plus d'informations pour savoir comment procéder, consultez Compilation sélective des API dans votre 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 à l'adresse <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. Voir Référencement d'un projet de bibliothèque via la ligne de commande pour savoir comment procéder.

    Remarque:Vous devez faire référence à une copie de la bibliothèque que vous dans votre espace de travail de développement. Ne faites pas référence à la bibliothèque directement depuis le 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 la <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 avec le API des services Google Play

Créer une exception ProGuard

Pour éviter ProGuard de supprimer les classes obligatoires, ajoutez les lignes suivantes 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