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: Google Play-Dienste bieten Zugriff auf eine Reihe von APIs, mit denen Sie unter anderem Anzeigen erstellen, Analysen erfassen, Nutzer authentifizieren und Karten einbinden können. Weitere Informationen finden Sie unter Übersicht über die Google Play-Dienste. Es ist wichtig, dass auf dem Gerät eines Nutzers das richtige APK für die Google Play-Dienste installiert ist, da Updates möglicherweise nicht alle Nutzer sofort erreichen.

Google Play-Dienste zu Ihrem 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 stellen Sie die APIs der Google Play-Dienste für Ihre App zur Verfügung:

  1. Öffnen Sie die Datei build.gradle in Ihrem Anwendungsmodulverzeichnis.

    Hinweis: Android Studio-Projekte enthalten für jedes Modul eine build.gradle-Datei auf oberster Ebene und eine build.gradle-Datei. Bearbeiten Sie unbedingt die Datei für Ihr Anwendungsmodul. Weitere Informationen zu Gradle finden Sie unter Projekt mit Gradle erstellen.

  2. Prüfen Sie, ob google() in der 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.3.0'
        }
    

    Achten Sie darauf, diese Versionsnummer bei jeder Aktualisierung der Google Play-Dienste zu aktualisieren.

    Hinweis:Wenn die Anzahl der Methodenverweise in Ihrer Anwendung das Limit von 65.000 überschreitet, kann die Anwendung möglicherweise nicht kompiliert werden. Sie können dieses Problem bei der Kompilierung Ihrer App umgehen, indem Sie nur die spezifischen APIs der Google Play-Dienste angeben, die Ihre App verwendet, und nicht alle. 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 Projekt mit Gradle-Dateien synchronisieren.

Andere IDE

So stellen Sie die APIs der Google Play-Dienste für Ihre App zur Verfügung:

  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 Bibliotheksprojekt in der Befehlszeile verweisen.

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

  3. Nachdem du die Google Play-Dienste-Bibliothek als Abhängigkeit für dein App-Projekt hinzugefügt hast, öffne die Manifestdatei deiner App und füge dem Element <application> das folgende Tag als untergeordnetes Tag 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 mit der Entwicklung von Features mit den APIs der Google Play-Dienste beginnen.

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