Требования
- Установите последнюю версию Android SDK с помощью Android SDK Manager.
- Установите последнюю версию библиотек appcompat и mediarouter AndroidX через менеджер Android SDK.
- Установите последнюю версию Cast SDK в сервисах Google Play через Android SDK Manager.
Google Cast SDK для Android входит в состав SDK сервисов Google Play и не требует отдельной загрузки.
Примечание. Сервисы Google Play предоставляют доступ к различным API, которые позволяют создавать объявления, собирать аналитические данные, выполнять аутентификацию пользователей, интегрировать карты и многое другое. Подробнее о сервисах Google Play… Важно убедиться, что на устройстве пользователя установлена правильная версия APK-файла сервисов Google Play, поскольку обновления могут быть доступны не всем пользователям сразу.
Как добавить сервисы Google Play в проект
Выберите среду разработки ниже и добавьте сервисы Google Play в свой проект, следуя инструкциям.
Android Studio
Чтобы сделать API сервисов Google Play доступными для вашего приложения, выполните следующие действия:
- Откройте файл
build.gradleв каталоге модуля приложения.Примечание. Проекты Android Studio содержат файл
build.gradleверхнего уровня и файлbuild.gradleдля каждого модуля. Убедитесь, что вы редактируете файл для модуля приложения. Подробнее о сборке проекта с помощью Gradle… - Убедитесь, что
google()есть в спискеrepositories.repositories {google() } - Добавьте новое правило сборки в разделе
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.3.1' }
Обязательно обновляйте номер версии при каждом обновлении сервисов Google Play.
Примечание. Если количество ссылок на методы в вашем приложении превышает лимит в 65 000, при компиляции приложения может произойти сбой. Чтобы избежать этой проблемы, при компиляции приложения можно указать только те API сервисов Google Play, которые оно использует. Подробнее о том, как это сделать, рассказывается в разделе Выборочная компиляция API в исполняемый файл.
- Сохраните изменения и нажмите Sync Project with Gradle Files (Синхронизировать проект с файлами 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