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 AndroidX de compatibilidade de apps e mediarouter pelo Android SDK Manager.
- Instale o SDK do Google Play Services do Cast mais recente pelo Gerenciador do SDK do Android.
O SDK do Google Cast para Android faz parte do SDK do Google Play Services e não precisa ser feito o download separadamente.
Observação: os Serviços do Google Play oferecem acesso a uma gama de 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 garantir que o APK correto do Google Play Services esteja 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 os Serviços do Google Play ao projeto seguindo as etapas fornecidas.
Para disponibilizar as APIs Google Play Services ao seu app:
- Abra o arquivo
build.gradle
no diretório do módulo do app.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 app. Consulte Como criar seu projeto com o Gradle para mais informações sobre o Gradle. - Verifique se
google()
está incluído narepositories
listada.repositories {
- Adicione uma nova regra de build em
dependencies
para a versão mais recente deplay-services
. 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:22.0.0' }
Atualize esse número de 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, ele poderá falhar na compilação. É possível reduzir esse problema ao compilar o app especificando apenas as APIs específicas do Google Play Services que o app usa, em vez de todas elas. Para saber como fazer isso, consulte Como compilar APIs seletivamente no executável.
- Salve as alterações e clique em Sync Project with Gradle Files na barra de ferramentas.
Para disponibilizar as APIs Google Play Services ao seu app:
- Copie o projeto da biblioteca em
<android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/
para o local em que você mantém seus projetos de apps Android. - No projeto do app, faça referência ao projeto da biblioteca do Google Play Services. Consulte
Como fazer referência a um projeto de biblioteca na linha de comando para mais informações.
Observação:você precisa referenciar uma cópia da biblioteca que foi copiada para o espaço de trabalho de desenvolvimento. Não é possível referenciar a biblioteca diretamente do diretório do SDK do Android.
- Depois de adicionar a biblioteca Google Play Services como uma dependência do projeto do app,
abra o arquivo de manifesto do app e adicione a seguinte tag como um filho 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 referenciar o projeto da biblioteca, você pode começar a desenvolver recursos com as APIs do Google Play Services.
Criar uma exceção do Proguard
Para evitar 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