Einrichtung für die Entwicklung mit dem Cast Application Framework (CAF) für Android

Voraussetzungen

Das Google Cast SDK for Android ist Teil des Google Play Services SDK und muss nicht separat heruntergeladen werden.

Hinweis: Mit Google Play-Diensten haben Sie Zugriff auf eine Reihe von APIs, mit denen Sie unter anderem Anzeigen erstellen, Analysen erheben, Nutzer authentifizieren und Karten einbinden können. Weitere Informationen finden Sie unter Übersicht über die Google Play-Dienste. Du musst darauf achten, dass auf dem Gerät eines Nutzers das richtige APK der Google Play-Dienste installiert ist, da Updates möglicherweise nicht sofort alle Nutzer erreichen.

Google Play-Dienste zum Projekt hinzufügen

Wählen Sie unten Ihre Entwicklungsumgebung aus und fügen Sie Ihrem Projekt Google Play-Dienste hinzu. Folgen Sie dazu der Anleitung.

Android Studio

So machen Sie die Google Play-Dienste APIs für Ihre App verfügbar:

  1. Öffnen Sie die Datei build.gradle im Verzeichnis des Anwendungsmoduls.

    Hinweis:Android Studio-Projekte enthalten für jedes Modul eine build.gradle-Datei der obersten Ebene und eine build.gradle-Datei. Denken Sie daran, die Datei für Ihr Anwendungsmodul zu bearbeiten. Weitere Informationen zu Gradle findest du unter Projekte mit Gradle erstellen.

  2. Prüfen Sie, ob google() im aufgeführten repositories enthalten ist.
    repositories {
        google()
    }
    
  3. Fügen Sie unter dependencies eine neue Build-Regel für die neueste Version von play-services hinzu. Beispiel:
    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.4.0'
        }
    

    Achten Sie darauf, diese Versionsnummer jedes Mal zu aktualisieren, wenn die Google Play-Dienste aktualisiert werden.

    Hinweis: Wenn die Anzahl der Methodenverweise in Ihrer Anwendung die 65-K-Grenze überschreitet, kann die Anwendung möglicherweise nicht kompiliert werden. Sie können dieses Problem möglicherweise beheben, wenn Sie Ihre App kompilieren, indem Sie nur die spezifischen APIs der Google Play-Dienste angeben, die Ihre App verwendet. Weitere Informationen dazu finden Sie unter APIs selektiv in eine ausführbare Datei kompilieren.

  4. Speichern Sie die Änderungen und klicken Sie in der Symbolleiste auf Sync Project with Gradle Files (Projekt mit Gradle-Dateien synchronisieren).

Andere IDE

So machen Sie die Google Play-Dienste APIs für Ihre App verfügbar:

  1. Kopieren Sie das Bibliotheksprojekt unter <android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/ an den Speicherort, an dem Sie Ihre Android-App-Projekte verwalten.
  2. Verweisen Sie in Ihrem App-Projekt auf das Projekt der Google Play-Dienste-Bibliothek. Weitere Informationen dazu finden Sie unter Auf ein Bibliotheksprojekt in der Befehlszeile verweisen.

    Hinweis:Sie sollten auf eine Kopie der Bibliothek verweisen, die Sie in Ihren Entwicklungsarbeitsbereich kopiert haben. Sie sollten nicht direkt aus dem Android SDK-Verzeichnis auf die Bibliothek verweisen.

  3. Nachdem Sie die Google Play-Dienste-Bibliothek als Abhängigkeit für Ihr App-Projekt hinzugefügt haben, öffnen Sie die Manifestdatei Ihrer App und fügen Sie dem Element <application> das folgende Tag als untergeordnetes Element hinzu:
    <meta-data android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />
    

Nachdem Sie Ihr Projekt so eingerichtet haben, dass es auf das Bibliotheksprojekt verweist, können Sie Funktionen mit den APIs für Google Play-Dienste entwickeln.

Proguard-Ausnahme erstellen

Damit ProGuard die erforderlichen Klassen nicht entfernt, fügen Sie der Datei /proguard-project.txt die folgenden Zeilen hinzu:

-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