Предпосылки
- Установите последнюю версию Android SDK с помощью Android SDK Manager .
- Установите последнюю версию библиотек AndroidX appcompat и mediarouter через Android SDK Manager .
- Установите последнюю версию Cast SDK в сервисах Google Play через Android SDK Manager .
Google Cast SDK для Android является частью SDK сервисов Google Play и не требует отдельной загрузки.
Примечание : Службы Google Play предоставляют вам доступ к ряду API для создания рекламы, сбора аналитики, аутентификации пользователей, интеграции карт и многого другого. Для получения дополнительной информации см. Обзор служб Google Play . Важно убедиться, что на устройстве пользователя установлен правильный APK служб Google Play, поскольку обновления могут не сразу дойти до всех пользователей.
Добавьте Google Play Services в свой проект
Выберите среду разработки ниже и добавьте сервисы Google Play в свой проект, следуя предоставленным инструкциям.
Android-студия
Чтобы сделать API сервисов Google Play доступными для вашего приложения:
- Откройте файл
build.gradle
в каталоге модуля вашего приложения.Примечание: проекты Android Studio содержат файл
build.gradle
верхнего уровня и файлbuild.gradle
для каждого модуля. Обязательно отредактируйте файл для модуля вашего приложения. Подробнее о Gradle см. в разделе Создание проекта с помощью Gradle . - Убедитесь, что
google()
включен в списокrepositories
.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:22.1.0' }
Обязательно обновляйте этот номер версии каждый раз при обновлении сервисов Google Play.
Примечание: Если количество ссылок на методы в вашем приложении превышает предел в 65 КБ , ваше приложение может не скомпилироваться. Вы можете смягчить эту проблему при компиляции своего приложения, указав только определенные API сервисов Google Play, которые использует ваше приложение, а не все из них. Информацию о том, как это сделать, см. в разделе Выборочная компиляция API в исполняемый файл .
- Сохраните изменения и нажмите «Синхронизировать проект с файлами Gradle» на панели инструментов.
Другие IDE-среды
Чтобы сделать API сервисов Google Play доступными для вашего приложения:
- Скопируйте проект библиотеки из
<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" />
После настройки проекта для ссылки на проект библиотеки вы можете приступить к разработке функций с использованием API сервисов Google Play .
Создать исключение 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