Android 用 Cast Application Framework(CAF)を使用した開発のセットアップ

前提条件

Android 用 Google Cast SDK は Google Play 開発者サービス SDK の一部であり、別途ダウンロードする必要はありません。

: Google Play 開発者サービスには、広告の作成、分析情報の収集、ユーザーの認証、地図の統合などに使用できるさまざまな API が用意されています。詳細については、Google Play 開発者サービスの概要をご覧ください。アップデートはすべてのユーザーにすぐに届くとは限らないため、ユーザーのデバイスに正しい Google Play 開発者サービス APK がインストールされていることを確認することが重要です。

Google Play 開発者サービスをプロジェクトに追加する

以下から開発環境を選択し、手順に沿って Google Play 開発者サービスをプロジェクトに追加します。

Android Studio

Google Play 開発者サービスの API をアプリで使用できるようにするには:

  1. アプリ モジュール ディレクトリ内の build.gradle ファイルを開きます。

    注: Android Studio プロジェクトには、トップレベルの build.gradle ファイルと、各モジュールの build.gradle ファイルがあります。アプリ モジュールのファイルは、必ず編集してください。Gradle について詳しくは、 Gradle を使用したプロジェクトのビルドをご覧ください。

  2. リストされた repositoriesgoogle() が含まれていることを確認します。
    repositories {
        google()
    }
    
  3. 最新バージョンの play-services 用の新しいビルドルールを dependencies に追加します。次に例を示します。
    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'
        }
    

    Google Play 開発者サービスを更新するたびに、このバージョン番号を更新してください。

    注: アプリ内のメソッド参照数が 65K の上限を超えると、アプリのコンパイルが失敗する可能性があります。すべての Google Play 開発者サービス API ではなく、アプリで使用する特定の Google Play 開発者サービス API のみを指定することで、アプリをコンパイルするときにこの問題を軽減できる場合があります。方法については、実行可能ファイルに API を選択的にコンパイルするをご覧ください。

  4. 変更を保存し、ツールバーの [Sync Project with Gradle Files] をクリックします。

その他の IDE

Google Play 開発者サービスの API をアプリで使用できるようにするには:

  1. <android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/ のライブラリ プロジェクトを、Android アプリ プロジェクトを管理する場所にコピーします。
  2. アプリ プロジェクトで、Google Play 開発者サービス ライブラリ プロジェクトを参照します。詳しくは、 コマンドラインで図書館プロジェクトを参照するをご覧ください。

    注: 開発ワークスペースにコピーしたライブラリのコピーを参照する必要があります。Android SDK ディレクトリから直接参照しないでください。

  3. Google Play 開発者サービス ライブラリをアプリ プロジェクトの依存関係として追加したら、アプリのマニフェスト ファイルを開き、次のタグを <application> 要素の子として追加します。
    <meta-data android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />
    

ライブラリ プロジェクトを参照するようにプロジェクトを設定したら、 Google Play 開発者サービスの API を使用して機能の開発を開始できます。

ProGuard の例外を作成する

ProGuard によって必要なクラスが削除されないようにするには、/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