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 erhalten Sie Zugriff auf verschiedene APIs, mit denen Sie unter anderem Anzeigen erstellen, Analysen erfassen, Nutzer authentifizieren und Karten einbinden können. Weitere Informationen findest du in der Übersicht über Google Play-Dienste. Achte darauf, dass auf dem Gerät eines Nutzers das richtige APK für die 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, indem Sie den angegebenen Schritten folgen.

Android Studio

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

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

    Hinweis:Android Studio-Projekte enthalten für jedes Modul eine übergeordnete build.gradle-Datei und eine build.gradle-Datei. Achten Sie darauf, die Datei für Ihr Anwendungsmodul zu bearbeiten. Weitere Informationen zu Gradle finden Sie unter Projekt mit Gradle erstellen.

  2. Prüfe, 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.5.0'
        }
    

    Diese Versionsnummer muss jedes Mal aktualisiert werden, wenn die Google Play-Dienste aktualisiert werden.

    Hinweis:Wenn die Anzahl der Methodenverweise in Ihrer Anwendung das Limit von 65.000 überschreitet, kann die Anwendung möglicherweise nicht kompiliert werden. Unter Umständen können Sie dieses Problem beim Kompilieren Ihrer App beheben, indem Sie statt aller nur die spezifischen APIs der Google Play-Dienste angeben, die von Ihrer App verwendet werden. Weitere Informationen finden Sie unter APIs selektiv in ausführbare Datei kompilieren.

  4. Speichern Sie die Änderungen und klicken Sie in der Symbolleiste auf Sync Project with Gradle Files.

Andere IDE

So machen Sie die APIs der Google Play-Dienste 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 für die Bibliothek der Google Play-Dienste. Weitere Informationen dazu finden Sie unter Auf ein Bibliotheksprojekt über die Befehlszeile verweisen.

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

  3. Nachdem du die Bibliothek der Google Play-Dienste als Abhängigkeit für dein App-Projekt hinzugefügt hast, öffne die Manifestdatei deiner App und füge das folgende Tag als untergeordnetes Tag des <application>-Elements hinzu:
    <meta-data android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />
    

Nachdem du dein Projekt so eingerichtet hast, dass es auf das Bibliotheksprojekt verweist, kannst du Funktionen mit den Google Play Services APIs 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