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. google() がリストされている repositories に含まれていることを確認します。
    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:22.1.0'
        }

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

    注: アプリのメソッド参照数が 65K の上限を超えると、アプリのコンパイルが失敗する可能性があります。アプリをコンパイルする際に、すべての Google Play 開発者サービス API ではなく、アプリが使用する特定の 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