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:21.2.0'
        }
    

    Google Play 서비스가 업데이트될 때마다 이 버전 번호를 업데이트해야 합니다.

    참고: 앱의 메서드 참조 수가 65K 제한을 초과하면 앱이 컴파일되지 않을 수 있습니다. 앱을 컴파일할 때 앱에서 사용하는 특정 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