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

Voraussetzungen

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

Hinweis: Mit den Google Play-Diensten haben Sie Zugriff auf eine Reihe von APIs, mit denen Sie unter anderem Anzeigen erstellen, Analysen erfassen, Nutzer authentifizieren und Karten einbinden. Weitere Informationen finden Sie unter Übersicht über die Google Play-Dienste. Du solltest dafür sorgen, dass das richtige APK der Google Play-Dienste auf dem Gerät eines Nutzers 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, indem Sie die angegebenen Schritte ausführen.

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 im Verzeichnis Ihres Anwendungsmoduls.

    Hinweis:Android Studio-Projekte enthalten für jedes Modul eine build.gradle-Datei auf oberster Ebene 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. google() muss in der repositories enthalten sein.
    repositories {
        google()
    }
    
  3. Fügen Sie unter dependencies eine neue Build-Regel für die aktuelle 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'
        }
    

    Sie müssen diese Versionsnummer bei jeder Aktualisierung der Google Play-Dienste aktualisieren.

    Hinweis:Wenn die Anzahl der Methodenreferenzen in Ihrer App das Limit von 65.000 überschreitet, kann Ihre App unter Umständen nicht kompiliert werden. Sie können dieses Problem möglicherweise minimieren, wenn Sie Ihre App kompilieren, indem Sie statt aller nur die spezifischen Google Play Services APIs angeben, die Ihre App verwendet. Weitere Informationen dazu finden Sie unter APIs selektiv in einer ausführbaren 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 auf die 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 das folgende Tag als untergeordnetes Element des Elements <application> 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 damit beginnen, Features mit den Google Play Services APIs zu entwickeln.

ProGuard-Ausnahme erstellen

Fügen Sie die folgenden Zeilen in die Datei /proguard-project.txt ein, um zu verhindern, dass ProGuard die erforderlichen Klassen entfernt:

-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