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. dependencies 아래에 최신 버전의 play-services에 대한 새 빌드 규칙을 추가합니다. 예:
    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.4.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