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

기본 요건

Android용 Google Cast SDK는 Google Play 서비스 SDK에 포함되어 있으며 별도로 다운로드할 필요가 없습니다.

참고: Google Play 서비스를 사용하면 광고 제작, 분석 수집, 사용자 인증, 지도 통합 등이 있습니다. 자세한 내용은 Google Play 개요 '서비스'로 이동합니다. 올바른 Google Play 서비스 APK가 설치됨 업데이트가 모든 사용자에게 즉시 전달되지 않을 수 있기 때문입니다.

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

아래에서 개발 환경을 선택하고 다음 단계를 따르세요.

Android 스튜디오

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

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

    참고: Android 스튜디오 프로젝트에는 최상위 수준 각 모듈에는 build.gradle 파일과 build.gradle 파일이 포함됩니다. 반드시 애플리케이션 모듈의 파일을 수정합니다 자세한 내용은 Gradle에 관한 자세한 내용은 Gradle을 사용하여 프로젝트 빌드하기를 참조하세요.

  2. 나열된 repositoriesgoogle()가 포함되어 있는지 확인합니다.
    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.5.0'
        }

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

    참고: 앱의 메서드 참조 수가 65K 제한을 준수하지 않는 경우 앱이 합니다. 앱을 컴파일할 때 모든 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