Android용 Cast 애플리케이션 프레임워크 (CAF)를 사용한 개발 설정

기본 요건

Android용 Google Cast SDK는 Google Play 서비스 SDK의 일부이며 별도로 다운로드할 필요가 없습니다.

참고: Google Play 서비스를 사용하면 광고를 빌드하고, 분석을 수집하고, 사용자를 인증하고, 지도를 통합하는 등 다양한 작업을 할 수 있는 다양한 API에 액세스할 수 있습니다. 자세한 내용은 Google Play 서비스 개요를 참고하세요. 업데이트가 모든 사용자에게 즉시 제공되지 않을 수 있으므로 사용자 기기에 올바른 Google Play 서비스 APK가 설치되어 있는지 확인하는 것이 중요합니다.

프로젝트에 Google Play 서비스 추가

아래에서 개발 환경을 선택하고 제공된 단계에 따라 Google Play 서비스를 프로젝트에 추가합니다.

Android 스튜디오

앱에서 Google Play 서비스 API를 사용할 수 있도록 하려면 다음 단계를 따르세요.

  1. 애플리케이션 모듈 디렉터리 내에서 build.gradle 파일을 엽니다.

    참고: Android 스튜디오 프로젝트에는 최상위 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 서비스가 업데이트될 때마다 이 버전 번호를 업데이트해야 합니다.

    참고: 앱의 메서드 참조 수가 65, 000개 제한을 초과하면 앱 컴파일이 실패할 수 있습니다. 앱을 컴파일할 때 모든 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