From 46f1f0b2ee5d9404ace4a449ea0999e4f995a4cd Mon Sep 17 00:00:00 2001 From: Jon Simantov Date: Wed, 13 Dec 2023 10:23:40 -0800 Subject: [PATCH] Update Android SDK dependency, including updated Gradle and compileSDK version, and including GMA (#1473) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update Android dependencies - Tue Oct 10 2023 [Triggered](https://github.com/firebase/firebase-android-sdk/actions/runs/6475704829) by [firebase-android-sdk Oct 10 release](https://github.com/firebase/firebase-android-sdk/commit/a135c514ee4d6a48cfc6680d7a35e97e6a666736). ### Android - com.google.android.gms.play_services_ads → 22.4.0 > Created by [Update Android and iOS dependencies workflow](https://github.com/firebase/firebase-cpp-sdk/actions/runs/6475709960). * Build GMA with Android 31. * Increment all gradle wrapper versions to 6.7.1. * Fix quote in classpath. * Update all gradle plugin versions to 4.2.1. * Force NDK path to environment variable for new Gradle version. * Update build tools version. * Add gradle.properties with useAndroidX=true flag. * Remove NDK path from unneeded gradle files. * Force name of included C++ SDK build to be firebase_cpp_sdk. This fixes a breaking change in Gradle 6 where included builds no longer have their name propagated, but instead they use their path (unless you explicitly set the name, as in this change). * Update Firestore internal test also. * Add gradle.properties files. * Update readme with new version. * Add cleanup directory. * Add to .gitignore. * Add changed .externalNativeBuild --> .cxx directory to script and ProGuard rules. * Revert "Add cleanup directory." This reverts commit ec1e0463c25798336b7070a5671cee2c77f4f590. * Add cleanup directory (again). * Project tweaks to build on Android SDK 33, required for GMA. * Update Android dependencies - Thu Oct 19 2023 (#1481) * Update Android dependencies - Thu Oct 19 2023 ### Android - com.google.firebase.firebase_bom → 32.4.0 > Created by [Update Android and iOS dependencies workflow](https://github.com/firebase/firebase-cpp-sdk/actions/runs/6580059572). * Enable multidex. --------- Co-authored-by: firebase-workflow-trigger-bot Co-authored-by: Jon Simantov * Update to 32.4.1 bom. * Update readme. * Update Android dependencies to 32.7.0. (#1498) --------- Co-authored-by: firebase-workflow-trigger-bot Co-authored-by: firebase-workflow-trigger[bot] <80733318+firebase-workflow-trigger[bot]@users.noreply.github.com> --- .gitignore | 1 + Android/firebase_dependencies.gradle | 4 ++-- analytics/build.gradle | 7 ++++--- analytics/integration_test/AndroidManifest.xml | 1 - analytics/integration_test/build.gradle | 7 ++++--- analytics/integration_test/gradle.properties | 2 ++ .../gradle/wrapper/gradle-wrapper.properties | 2 +- analytics/integration_test/settings.gradle | 4 +++- android_build_files/generate_proguard.gradle | 2 +- app/app_resources/build.gradle | 6 +++--- app/build.gradle | 7 ++++--- app/google_api_resources/build.gradle | 6 +++--- app/integration_test/AndroidManifest.xml | 1 - app/integration_test/build.gradle | 7 ++++--- app/integration_test/gradle.properties | 2 ++ .../gradle/wrapper/gradle-wrapper.properties | 2 +- app/integration_test/settings.gradle | 4 +++- app/invites_resources/build.gradle | 6 +++--- app/test_resources/build.gradle | 4 ++-- app_check/app_check_resources/build.gradle | 6 +++--- app_check/build.gradle | 7 ++++--- app_check/integration_test/AndroidManifest.xml | 1 - app_check/integration_test/build.gradle | 7 ++++--- app_check/integration_test/gradle.properties | 2 ++ .../gradle/wrapper/gradle-wrapper.properties | 2 +- app_check/integration_test/settings.gradle | 4 +++- auth/auth_resources/build.gradle | 6 +++--- auth/build.gradle | 7 ++++--- auth/integration_test/AndroidManifest.xml | 1 - auth/integration_test/build.gradle | 8 +++++--- auth/integration_test/gradle.properties | 2 ++ .../gradle/wrapper/gradle-wrapper.properties | 2 +- auth/integration_test/settings.gradle | 4 +++- build_scripts/android/build.sh | 9 ++++++--- database/build.gradle | 7 ++++--- database/database_resources/build.gradle | 6 +++--- database/integration_test/AndroidManifest.xml | 1 - database/integration_test/build.gradle | 8 +++++--- database/integration_test/gradle.properties | 2 ++ .../gradle/wrapper/gradle-wrapper.properties | 2 +- database/integration_test/settings.gradle | 4 +++- dynamic_links/build.gradle | 7 ++++--- dynamic_links/integration_test/AndroidManifest.xml | 1 - dynamic_links/integration_test/build.gradle | 7 ++++--- dynamic_links/integration_test/gradle.properties | 2 ++ .../gradle/wrapper/gradle-wrapper.properties | 2 +- dynamic_links/integration_test/settings.gradle | 4 +++- firestore/build.gradle | 7 ++++--- firestore/firestore_resources/build.gradle | 6 +++--- firestore/integration_test/AndroidManifest.xml | 1 - firestore/integration_test/build.gradle | 7 ++++--- firestore/integration_test/gradle.properties | 2 ++ .../gradle/wrapper/gradle-wrapper.properties | 2 +- firestore/integration_test/settings.gradle | 4 +++- .../integration_test_internal/AndroidManifest.xml | 1 - firestore/integration_test_internal/build.gradle | 7 ++++--- firestore/integration_test_internal/gradle.properties | 2 ++ .../gradle/wrapper/gradle-wrapper.properties | 2 +- firestore/integration_test_internal/settings.gradle | 4 +++- functions/build.gradle | 7 ++++--- functions/integration_test/AndroidManifest.xml | 1 - functions/integration_test/build.gradle | 8 +++++--- functions/integration_test/gradle.properties | 2 ++ .../gradle/wrapper/gradle-wrapper.properties | 2 +- functions/integration_test/settings.gradle | 4 +++- gma/build.gradle | 7 ++++--- gma/gma_resources/build.gradle | 8 ++++---- gma/integration_test/AndroidManifest.xml | 1 - gma/integration_test/build.gradle | 7 ++++--- gma/integration_test/gradle.properties | 2 ++ .../gradle/wrapper/gradle-wrapper.properties | 2 +- gma/integration_test/settings.gradle | 4 +++- gradle.properties | 2 ++ gradle/wrapper/gradle-wrapper.properties | 2 +- installations/build.gradle | 7 ++++--- installations/integration_test/AndroidManifest.xml | 1 - installations/integration_test/build.gradle | 7 ++++--- installations/integration_test/gradle.properties | 2 ++ .../gradle/wrapper/gradle-wrapper.properties | 2 +- installations/integration_test/settings.gradle | 4 +++- messaging/build.gradle | 7 ++++--- messaging/integration_test/AndroidManifest.xml | 1 - messaging/integration_test/build.gradle | 7 ++++--- messaging/integration_test/gradle.properties | 2 ++ .../gradle/wrapper/gradle-wrapper.properties | 2 +- messaging/integration_test/settings.gradle | 4 +++- messaging/messaging_java/build.gradle | 6 +++--- .../Android/firebase_dependencies.gradle | 4 ++-- release_build_files/readme.md | 10 +++++++--- remote_config/build.gradle | 7 ++++--- remote_config/integration_test/AndroidManifest.xml | 1 - remote_config/integration_test/build.gradle | 7 ++++--- remote_config/integration_test/gradle.properties | 2 ++ .../gradle/wrapper/gradle-wrapper.properties | 2 +- remote_config/integration_test/settings.gradle | 4 +++- remote_config/remote_config_resources/build.gradle | 6 +++--- scripts/gha/build_testapps.py | 1 + .../integration_testing/gameloop_android/build.gradle | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- scripts/gha/ui_testing/uitest_android/app/build.gradle | 5 +++-- scripts/gha/ui_testing/uitest_android/build.gradle | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- storage/build.gradle | 7 ++++--- storage/integration_test/AndroidManifest.xml | 1 - storage/integration_test/build.gradle | 8 +++++--- storage/integration_test/gradle.properties | 2 ++ .../gradle/wrapper/gradle-wrapper.properties | 2 +- storage/integration_test/settings.gradle | 4 +++- storage/storage_resources/build.gradle | 6 +++--- testing/build.gradle | 7 ++++--- 110 files changed, 266 insertions(+), 180 deletions(-) create mode 100644 analytics/integration_test/gradle.properties create mode 100644 app/integration_test/gradle.properties create mode 100644 app_check/integration_test/gradle.properties create mode 100644 auth/integration_test/gradle.properties create mode 100644 database/integration_test/gradle.properties create mode 100644 dynamic_links/integration_test/gradle.properties create mode 100644 firestore/integration_test/gradle.properties create mode 100644 firestore/integration_test_internal/gradle.properties create mode 100644 functions/integration_test/gradle.properties create mode 100644 gma/integration_test/gradle.properties create mode 100644 gradle.properties create mode 100644 installations/integration_test/gradle.properties create mode 100644 messaging/integration_test/gradle.properties create mode 100644 remote_config/integration_test/gradle.properties create mode 100644 storage/integration_test/gradle.properties diff --git a/.gitignore b/.gitignore index d86b432e3c..9b0a74e964 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,7 @@ __pycache__/ .gradle **/build/ **/.externalNativeBuild/ +**/.cxx/ ### IDE generated files .vscode/ diff --git a/Android/firebase_dependencies.gradle b/Android/firebase_dependencies.gradle index 601fa3ad6a..517049d182 100644 --- a/Android/firebase_dependencies.gradle +++ b/Android/firebase_dependencies.gradle @@ -27,7 +27,7 @@ def firebaseDependenciesMap = [ 'dynamic_links' : ['com.google.firebase:firebase-dynamic-links'], 'firestore' : ['com.google.firebase:firebase-firestore'], 'functions' : ['com.google.firebase:firebase-functions'], - 'gma' : ['com.google.android.gms:play-services-ads:22.3.0', + 'gma' : ['com.google.android.gms:play-services-ads:22.6.0', 'com.google.android.ump:user-messaging-platform:2.1.0'], 'installations' : ['com.google.firebase:firebase-installations'], 'invites' : ['com.google.firebase:firebase-invites'], @@ -159,7 +159,7 @@ project.afterEvaluate { // Add the bill-of-materials project.dependencies { - implementation platform('com.google.firebase:firebase-bom:32.3.1') + implementation platform('com.google.firebase:firebase-bom:32.7.0') } for (String lib : firebaseCpp.dependencies.libSet) { // Generate and include the proguard file diff --git a/analytics/build.gradle b/analytics/build.gradle index 3409aeb9b8..2b6bf6fb2a 100644 --- a/analytics/build.gradle +++ b/analytics/build.gradle @@ -18,7 +18,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:3.3.3' + classpath 'com.android.tools.build:gradle:4.2.1' } } allprojects { @@ -31,8 +31,9 @@ allprojects { apply plugin: 'com.android.library' android { - compileSdkVersion 28 - buildToolsVersion '28.0.3' + compileSdkVersion 33 + ndkPath System.getenv('ANDROID_NDK_HOME') + buildToolsVersion '30.0.2' sourceSets { main { diff --git a/analytics/integration_test/AndroidManifest.xml b/analytics/integration_test/AndroidManifest.xml index 236a1e4abe..ebe7ffaea6 100644 --- a/analytics/integration_test/AndroidManifest.xml +++ b/analytics/integration_test/AndroidManifest.xml @@ -22,7 +22,6 @@ - - - - - - - - - - - - diff --git a/messaging/integration_test/build.gradle b/messaging/integration_test/build.gradle index 210859b4f6..3991e49a24 100644 --- a/messaging/integration_test/build.gradle +++ b/messaging/integration_test/build.gradle @@ -20,7 +20,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:3.3.3' + classpath 'com.android.tools.build:gradle:4.2.1' classpath 'com.google.gms:google-services:4.0.1' } } @@ -40,8 +40,9 @@ android { sourceCompatibility 1.8 targetCompatibility 1.8 } - compileSdkVersion 28 - buildToolsVersion '28.0.3' + compileSdkVersion 33 + ndkPath System.getenv('ANDROID_NDK_HOME') + buildToolsVersion '30.0.2' sourceSets { main { diff --git a/messaging/integration_test/gradle.properties b/messaging/integration_test/gradle.properties new file mode 100644 index 0000000000..ac891ac594 --- /dev/null +++ b/messaging/integration_test/gradle.properties @@ -0,0 +1,2 @@ +android.useAndroidX = true +org.gradle.jvmargs=-Xmx2560m diff --git a/messaging/integration_test/gradle/wrapper/gradle-wrapper.properties b/messaging/integration_test/gradle/wrapper/gradle-wrapper.properties index 9e09cdb6ad..65340c1b59 100644 --- a/messaging/integration_test/gradle/wrapper/gradle-wrapper.properties +++ b/messaging/integration_test/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https://services.gradle.org/distributions/gradle-5.6.4-all.zip +distributionUrl=https://services.gradle.org/distributions/gradle-6.7.1-all.zip diff --git a/messaging/integration_test/settings.gradle b/messaging/integration_test/settings.gradle index 2270c51ca4..8b600af5be 100644 --- a/messaging/integration_test/settings.gradle +++ b/messaging/integration_test/settings.gradle @@ -36,4 +36,6 @@ if (!(new File(firebase_cpp_sdk_dir)).exists()) { firebase_cpp_sdk_dir)) } gradle.ext.firebase_cpp_sdk_dir = "$firebase_cpp_sdk_dir" -includeBuild "$firebase_cpp_sdk_dir" \ No newline at end of file +includeBuild("$firebase_cpp_sdk_dir") { + name = "firebase_cpp_sdk" +} diff --git a/messaging/messaging_java/build.gradle b/messaging/messaging_java/build.gradle index 4ec8598643..9520c42a47 100644 --- a/messaging/messaging_java/build.gradle +++ b/messaging/messaging_java/build.gradle @@ -18,7 +18,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:3.3.3' + classpath 'com.android.tools.build:gradle:4.2.1' classpath 'com.google.gms:google-services:4.2.0' // This uses Flatbuffers at 1.9 because the 1.10 version added a feature // that requires using a newer version of the JDK and at least Android N. @@ -41,7 +41,7 @@ android { sourceCompatibility 1.8 targetCompatibility 1.8 } - compileSdkVersion 28 + compileSdkVersion 33 sourceSets { main { @@ -55,7 +55,7 @@ android { } dependencies { - implementation platform('com.google.firebase:firebase-bom:32.3.1') + implementation platform('com.google.firebase:firebase-bom:32.7.0') implementation 'com.google.firebase:firebase-analytics' implementation 'com.google.firebase:firebase-messaging' implementation 'com.google.flatbuffers:flatbuffers-java:1.12.0' diff --git a/release_build_files/Android/firebase_dependencies.gradle b/release_build_files/Android/firebase_dependencies.gradle index 0e4c71a3af..a4964e2231 100644 --- a/release_build_files/Android/firebase_dependencies.gradle +++ b/release_build_files/Android/firebase_dependencies.gradle @@ -27,7 +27,7 @@ def firebaseDependenciesMap = [ 'dynamic_links' : ['com.google.firebase:firebase-dynamic-links'], 'firestore' : ['com.google.firebase:firebase-firestore'], 'functions' : ['com.google.firebase:firebase-functions'], - 'gma' : ['com.google.android.gms:play-services-ads:22.3.0', + 'gma' : ['com.google.android.gms:play-services-ads:22.6.0', 'com.google.android.ump:user-messaging-platform:2.1.0'], 'installations' : ['com.google.firebase:firebase-installations'], 'invites' : ['com.google.firebase:firebase-invites'], @@ -132,7 +132,7 @@ project.afterEvaluate { // Add the bill-of-materials project.dependencies { - implementation platform('com.google.firebase:firebase-bom:32.3.1') + implementation platform('com.google.firebase:firebase-bom:32.7.0') } for (String lib : firebaseCpp.dependencies.libSet) { // Messaging includes an aar, which to be depended on properly requires diff --git a/release_build_files/readme.md b/release_build_files/readme.md index 100ed9203d..bfa4c1b750 100644 --- a/release_build_files/readme.md +++ b/release_build_files/readme.md @@ -86,7 +86,7 @@ distributed as part of the core Firebase Feature | Required Libraries and Gradle Packages -------------------------- | -------------------------------------- -All Firebase SDKs | platform(com.google.firebase:firebase-bom:32.3.1) +All Firebase SDKs | platform(com.google.firebase:firebase-bom:32.7.0) | | (Android Bill of Materials) Firebase Analytics | libfirebase_analytics.a | | libfirebase_app.a @@ -134,7 +134,7 @@ Google Mobile Ads | libfirebase_gma.a | | libfirebase_app.a | | com.google.firebase:firebase-analytics | | (Maven package) -| | com.google.android.gms:play-services-ads:22.3.0 +| | com.google.android.gms:play-services-ads:22.6.0 | | (Maven package) | | com.google.android.ump:user-messaging-platform:2.1.0 | | (Maven package) @@ -633,8 +633,12 @@ code. ## Release Notes ### Upcoming Release - Changes + - General (Android): Firebase C++ on Android is now built using Android API + level 33 and Gradle 6.7.1. + - General (Android): Update to Firebase Android BoM version 32.3.1. - General (iOS): Update to Firebase Cocoapods version 10.17.0. - + - GMA (Android) Updated dependency to play-services-ads version 22.4.0. + ### 11.6.0 - Changes - General (iOS): Update to Firebase Cocoapods version 10.15.0. diff --git a/remote_config/build.gradle b/remote_config/build.gradle index 5470c449c0..1506391b16 100644 --- a/remote_config/build.gradle +++ b/remote_config/build.gradle @@ -18,7 +18,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:3.3.3' + classpath 'com.android.tools.build:gradle:4.2.1' } } allprojects { @@ -31,8 +31,9 @@ allprojects { apply plugin: 'com.android.library' android { - compileSdkVersion 28 - buildToolsVersion '28.0.3' + compileSdkVersion 33 + ndkPath System.getenv('ANDROID_NDK_HOME') + buildToolsVersion '30.0.2' sourceSets { main { diff --git a/remote_config/integration_test/AndroidManifest.xml b/remote_config/integration_test/AndroidManifest.xml index bffc82a2f3..338223292e 100644 --- a/remote_config/integration_test/AndroidManifest.xml +++ b/remote_config/integration_test/AndroidManifest.xml @@ -22,7 +22,6 @@ - -