Requisitos previos
- Instala la versión más reciente del SDK de Android con el Administrador de SDK de Android.
- Instala la versión más reciente de las bibliotecas de AndroidX appcompat y mediarouter a través de Android SDK Manager.
- Instala la versión más reciente del SDK de Cast en los Servicios de Google Play a través de Android SDK Manager.
El SDK de Google Cast para Android forma parte del SDK de Servicios de Google Play y no es necesario descargarlo por separado.
Nota: Los Servicios de Google Play te brindan acceso a una variedad de APIs para compilar anuncios, recopilar estadísticas, autenticar usuarios, integrar mapas y mucho más. Para obtener más información, consulta Descripción general de los Servicios de Google Play. Es importante que te asegures de que el APK correcto de los Servicios de Google Play esté instalado en el dispositivo de un usuario, ya que es posible que las actualizaciones no lleguen a todos los usuarios de inmediato.
Agrega los Servicios de Google Play a tu proyecto
Selecciona tu entorno de desarrollo a continuación y agrega los Servicios de Google Play a tu proyecto siguiendo los pasos proporcionados.
Android Studio
Para que las APIs de los Servicios de Google Play estén disponibles para tu app, haz lo siguiente:
- Abre el archivo
build.gradledentro del directorio del módulo de aplicación.Nota: Los proyectos de Android Studio contienen un archivo
build.gradlede nivel superior y un archivobuild.gradlepara cada módulo. Asegúrate de editar el archivo del módulo de aplicación. Consulta Cómo compilar tu proyecto con Gradle para obtener más información sobre Gradle. - Verifica que
google()esté incluido en losrepositoriesenumerados.repositories {google() } - Agrega una nueva regla de compilación en
dependenciespara la versión más reciente deplay-services. Por ejemplo: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.0' }
Asegúrate de actualizar este número de versión cada vez que se actualicen los Servicios de Google Play.
Nota: Si la cantidad de referencias de métodos en tu app supera el límite de 65,000, es posible que la app no se compile. Puedes mitigar este problema cuando compiles tu app especificando solo las APIs de los Servicios de Google Play que usa tu app, en lugar de todas ellas. Para obtener información sobre cómo hacerlo, consulta Cómo compilar APIs de forma selectiva en tu ejecutable.
- Guarda los cambios y haz clic en Sync Project with Gradle Files en la barra de herramientas.
Otro IDE
Para que las APIs de los Servicios de Google Play estén disponibles para tu app, haz lo siguiente:
- Copia el proyecto de biblioteca en
<android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/a la ubicación en la que mantienes tus proyectos de apps para Android. - En el proyecto de tu app, haz referencia al proyecto de biblioteca de los Servicios de Google Play. Consulta
Cómo hacer referencia a un proyecto de biblioteca en la línea de comandos para obtener más información sobre cómo hacerlo.
Nota: Debes hacer referencia a una copia de la biblioteca que copiaste en tu espacio de trabajo de desarrollo. No debes hacer referencia a la biblioteca directamente desde el directorio del SDK de Android.
- Después de agregar la biblioteca de los Servicios de Google Play como dependencia para el proyecto de tu app,
abre el archivo de manifiesto de la app y agrega la siguiente etiqueta como elemento secundario del
<application>elemento:<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
Una vez que hayas configurado tu proyecto para hacer referencia al proyecto de biblioteca, puedes comenzar a desarrollar funciones con las APIs de los Servicios de Google Play.
Crea una excepción de ProGuard
Para evitar que
ProGuard quite las
clases requeridas, agrega las siguientes líneas en el
archivo:
-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