기본 요건
- Android SDK를 사용하여 최신 버전의 Android SDK를 설치합니다. 관리자를 선택합니다.
- appcompat 및 mediarouter AndroidX의 최신 버전을 설치합니다. 라이브러리를 통해 Android SDK 관리자.
- Android SDK 매니저를 통해 최신 Google Play 서비스의 Cast SDK를 설치합니다.
Android용 Google Cast SDK는 Google Play 서비스 SDK에 포함되어 있으며 별도로 다운로드할 필요가 없습니다.
참고: Google Play 서비스를 사용하면 광고 제작, 분석 수집, 사용자 인증, 지도 통합 등이 있습니다. 자세한 내용은 Google Play 개요 '서비스'로 이동합니다. 올바른 Google Play 서비스 APK가 설치됨 업데이트가 모든 사용자에게 즉시 전달되지 않을 수 있기 때문입니다.
프로젝트에 Google Play 서비스 추가
아래에서 개발 환경을 선택하고 다음 단계를 따르세요.
Android 스튜디오
Google Play 서비스 API를 앱에서 사용할 수 있도록 하려면 다음 단계를 따르세요.
- 애플리케이션 모듈 디렉터리 내에서
build.gradle
파일을 엽니다.참고: Android 스튜디오 프로젝트에는 최상위 수준 각 모듈에는
build.gradle
파일과build.gradle
파일이 포함됩니다. 반드시 애플리케이션 모듈의 파일을 수정합니다 자세한 내용은 Gradle에 관한 자세한 내용은 Gradle을 사용하여 프로젝트 빌드하기를 참조하세요. - 나열된
repositories
에google()
가 포함되어 있는지 확인합니다.repositories {
- 최신 버전의
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 컴파일.
- 변경사항을 저장하고 툴바에서 Sync Project with Gradle Files를 클릭합니다.
기타 IDE
Google Play 서비스 API를 앱에서 사용할 수 있도록 하려면 다음 단계를 따르세요.
<android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/
의 라이브러리 프로젝트를 Android 앱 프로젝트를 유지하고 있는 위치에 복사합니다.- 앱 프로젝트에서 Google Play 서비스 라이브러리 프로젝트를 참조합니다. 자세한 내용은
명령줄에서 도서관 프로젝트 참조하기를 참고하세요.
참고: 개발자가 개발 작업공간에 복사됩니다. 따라서 Android SDK 디렉터리
- Google Play 서비스 라이브러리를 앱 프로젝트의 종속 항목으로 추가한 후
앱의 매니페스트 파일을 열고 다음 태그를
<application>
요소:<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
라이브러리 프로젝트를 참조하도록 프로젝트를 설정한 후에는 기능을 Google Play 서비스 API.
Proguard 예외 만들기
ProGuard가
다음 줄을
파일:
-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