Pré-requisitos
- Instale a versão mais recente do SDK do Android usando o Android SDK Manager.
- Instale a versão mais recente das bibliotecas do AndroidX appcompat e mediarouter usando o SDK Manager do Android.
- Instale o SDK do Cast no Google Play Services mais recente usando o Android SDK Manager.
O SDK do Google Cast para Android faz parte do SDK do Google Play Services e não precisa ser transferido por download separadamente.
Observação: o Google Play Services oferece acesso a várias APIs para criar anúncios, coletar análises, autenticar usuários, integrar mapas e muito mais. Para mais informações, consulte Visão geral do Google Play Services. É importante verificar se o APK correto do Google Play Services está instalado no dispositivo de um usuário, já que as atualizações podem não chegar a todos os usuários imediatamente.
Adicionar o Google Play Services ao projeto
Selecione seu ambiente de desenvolvimento abaixo e adicione o Google Play Services ao projeto seguindo as etapas fornecidas.
Android Studio
Para disponibilizar as APIs do Google Play Services no seu aplicativo:
- Abra o arquivo
build.gradle
dentro do diretório do módulo do aplicativo.Observação:os projetos do Android Studio contêm um arquivo
build.gradle
de nível superior e um arquivobuild.gradle
para cada módulo. Edite o arquivo do módulo do seu aplicativo. Consulte Como criar seu projeto com o Gradle para ver mais informações sobre o Gradle. - Verifique se
google()
está incluído norepositories
listado.repositories {
- Adicione uma nova regra de build em
dependencies
para a versão mais recente deplay-services
. Por exemplo: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.4.0' }
Atualize o número da versão sempre que o Google Play Services for atualizado.
Observação:se o número de referências de método no app exceder o limite de 65 mil, pode ocorrer uma falha na compilação do app. Você pode atenuar esse problema ao compilar seu app especificando apenas as APIs específicas do Google Play Services usadas pelo app, em vez de todas elas. Para saber como fazer isso, consulte Compilação seletiva de APIs no executável.
- Salve as mudanças e clique em Sync Project with Gradle Files na barra de ferramentas.
Outro ambiente de desenvolvimento integrado
Para disponibilizar as APIs do Google Play Services no seu aplicativo:
- Copie o projeto de biblioteca em
<android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/
para o local onde você mantém seus projetos de apps Android. - No projeto do app, faça referência ao projeto de biblioteca do Google Play Services. Consulte
Como fazer referência a um projeto de biblioteca na linha de comando para mais informações sobre como fazer isso.
Observação:faça referência a uma cópia da biblioteca copiada para o espaço de trabalho de desenvolvimento. Não faça referência à biblioteca diretamente no diretório do SDK do Android.
- Depois de adicionar a biblioteca do Google Play Services como dependência para o projeto do seu app,
abra o arquivo de manifesto do app e adicione a seguinte tag como filha do elemento
<application>
:<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
Depois de configurar o projeto para fazer referência ao projeto de biblioteca, você pode começar a desenvolver recursos com as APIs do Google Play Services.
Criar uma exceção do Proguard
Para impedir que o
ProGuard remova
as classes necessárias, adicione as seguintes linhas no
arquivo
:
-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