Fazer o download Play Core Native SDK
Antes de fazer o download, você precisa concordar com os seguintes Termos e Condições.
Termos e Condições
Last modified: September 24, 2020- By using the Play Core Software Development Kit, you agree to these terms in addition to the Google APIs Terms of Service ("API ToS"). If these terms are ever in conflict, these terms will take precedence over the API ToS. Please read these terms and the API ToS carefully.
- For purposes of these terms, "APIs" means Google's APIs, other developer services, and associated software, including any Redistributable Code.
- “Redistributable Code” means Google-provided object code or header files that call the APIs.
- Subject to these terms and the terms of the API ToS, you may copy and distribute Redistributable Code solely for inclusion as part of your API Client. Google and its licensors own all right, title and interest, including any and all intellectual property and other proprietary rights, in and to Redistributable Code. You will not modify, translate, or create derivative works of Redistributable Code.
- Google may make changes to these terms at any time with notice and the opportunity to decline further use of the Play Core Software Development Kit. Google will post notice of modifications to the terms at https://developer.android.com/guide/playcore/license. Changes will not be retroactive.
Ao fazer o download e usar o SDK nativo da Google Play Core, você concorda com os Termos de Serviço do kit de desenvolvimento de software da Play Core.
O SDK nativo da Play Core oferece uma interface C/C++ da API para algumas bibliotecas do Google Play, incluindo a Play Asset Delivery. O SDK foi projetado para criar bibliotecas nativas ARM e x86 com o CMake e para usar o Gradle para gerar Android App Bundles e APKs.
Configurar seu ambiente de desenvolvimento
Realize uma das ações abaixo:
- Instale a versão mais recente do Android Studio. Use a IU do SDK Manager para instalar a versão 10.0 do Android SDK Platform (nível 29 da API).
- Instale as ferramentas de linha de comando do SDK do Android
e use o
sdkmanager
para instalar o Android SDK Platform versão 10.0 (API de nível 29).
Prepare o Android Studio para o desenvolvimento nativo usando o SDK Manager para instalar o CMake e o Android Native Development Kit (NDK) mais recentes. Para saber mais sobre como criar ou importar projetos nativos, consulte Começar a usar o NDK.
Faça o download do arquivo ZIP e extraia ele junto com o projeto.
Link de download Tamanho Soma de verificação SHA-256 (link em inglês) 36 MiB 782a8522d937848c83a715c9a258b95a3ff2879a7cd71855d137b41c00786a5e Atualize o arquivo
build.gradle
do app como mostrado abaixo:Groovy
// App build.gradle plugins { id 'com.android.application' } // Define a path to the extracted Play Core SDK files. // If using a relative path, wrap it with file() since CMake requires absolute paths. def playcoreDir = file('../path/to/playcore-native-sdk') android { defaultConfig { ... externalNativeBuild { cmake { // Define the PLAYCORE_LOCATION directive. arguments "-DANDROID_STL=c++_static", "-DPLAYCORE_LOCATION=$playcoreDir" } } ndk { // Skip deprecated ABIs. Only required when using NDK 16 or earlier. abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' } } buildTypes { release { // Include Play Core Library proguard config files to strip unused code while retaining the Java symbols needed for JNI. proguardFile '$playcoreDir/proguard/common.pgcfg' proguardFile '$playcoreDir/proguard/gms_task.pgcfg' proguardFile '$playcoreDir/proguard/per-feature-proguard-files' ... } debug { ... } } externalNativeBuild { cmake { path 'src/main/CMakeLists.txt' } } } dependencies { // Import these feature-specific AARs for each Google Play Core library. implementation 'com.google.android.play:app-update:2.0.0' implementation 'com.google.android.play:asset-delivery:2.2.1' implementation 'com.google.android.play:integrity:1.3.0' implementation 'com.google.android.play:review:2.0.0' // Import these common dependencies. implementation 'com.google.android.gms:play-services-tasks:18.0.2' implementation files("$playcoreDir/playcore-native-metadata.jar") ... }
Kotlin
// App build.gradle.kts plugins { id("com.android.application") } // Define a path to the extracted Play Core SDK files. // If using a relative path, wrap it with file() since CMake requires absolute paths. val playcoreDir = file("../path/to/playcore-native-sdk") android { defaultConfig { ... externalNativeBuild { cmake { // Define the PLAYCORE_LOCATION directive. arguments += listOf("-DANDROID_STL=c++_static", "-DPLAYCORE_LOCATION=$playcoreDir") } } ndk { // Skip deprecated ABIs. Only required when using NDK 16 or earlier. abiFilters.clear() abiFilters += listOf("armeabi-v7a", "arm64-v8a", "x86", "x86_64") } } buildTypes { release { // Include Play Core Library proguard config files to strip unused code while retaining the Java symbols needed for JNI. proguardFile("$playcoreDir/proguard/common.pgcfg") proguardFile("$playcoreDir/proguard/gms_task.pgcfg") proguardFile("$playcoreDir/proguard/per-feature-proguard-files") ... } debug { ... } } externalNativeBuild { cmake { path = "src/main/CMakeLists.txt" } } } dependencies { // Import these feature-specific AARs for each Google Play Core library. implementation("com.google.android.play:app-update:2.0.0") implementation("com.google.android.play:asset-delivery:2.2.1") implementation("com.google.android.play:integrity:1.3.0") implementation("com.google.android.play:review:2.0.0") // Import these common dependencies. implementation("com.google.android.gms:play-services-tasks:18.0.2") implementation(files("$playcoreDir/playcore-native-metadata.jar")) ... }
Atualize os arquivos
CMakeLists.txt
do app como mostrado abaixo:cmake_minimum_required(VERSION 3.6) ... # Add a static library called “playcore” built with the c++_static STL. include(${PLAYCORE_LOCATION}/playcore.cmake) add_playcore_static_library() // In this example “main” is your native code library, i.e. libmain.so. add_library(main SHARED ...) target_include_directories(main PRIVATE ${PLAYCORE_LOCATION}/include ...) target_link_libraries(main android playcore ...)
Termos de Serviço do kit de desenvolvimento de software da Play Core
Última modificação: 24 de setembro de 2020- Ao usar o kit de desenvolvimento de software da Play Core, você concorda com estes termos, além dos Termos de Serviço das APIs do Google ("TOS da API"). Se eles entrarem em conflito, estes termos terão precedência em relação aos TOS da API. Leia estes termos e os TOS da API com atenção.
- Para os fins destes termos, "APIs" significa as APIs do Google, outros serviços para desenvolvedores e os softwares associados, incluindo códigos redistribuíveis.
- Um "código redistribuível" é um arquivo principal ou código de objeto fornecido pelo Google que chama as APIs.
- Sujeito a estes termos e aos TOS da API, você pode copiar e distribuir códigos redistribuíveis exclusivamente para inclusão como parte do seu cliente da API. O Google e nossos licenciantes são proprietários de todos os direitos, títulos e participações, incluindo toda e qualquer propriedade intelectual e outros direitos de propriedade relacionados aos códigos redistribuíveis. Não é permitido modificar, traduzir ou criar obras derivadas de códigos redistribuíveis.
- O Google pode fazer alterações nestes termos a qualquer momento, mediante aviso prévio e incluindo a possibilidade de se recusar a continuar usando o kit de desenvolvimento de software da Play Core. O Google publicará avisos de modificações nos termos em https://developer.android.com/guide/playcore/license. As mudanças não são retroativas.
Coleta de dados
O SDK nativo da Play Core pode coletar dados relacionados à versão para que o Google melhore o produto, incluindo:
- Nome do pacote do app
- Versão do pacote do app
- Versão do SDK nativo da Play Core
Esses dados vão ser coletados quando você fizer upload do seu pacote de apps
para o Play Console. Para desativar esse processo de coleta de dados, remova a
importação de $playcoreDir/playcore-native-metadata.jar
no arquivo build.gradle.
Essa coleta de dados relacionada ao seu uso do SDK nativo da Play Core e o uso do Google dos dados coletados são independentes e não estão relacionados à coleta de dependências de biblioteca do Google declaradas no Gradle quando você faz upload do pacote do app para o Play Console.