From c7e711201f286b5edbb008ce3e798a99f6e17a9a Mon Sep 17 00:00:00 2001 From: Felix Angelov Date: Wed, 15 Jan 2025 11:33:28 -0600 Subject: [PATCH] chore(flutter_firebase_login): upgrade Android platform code --- examples/flutter_firebase_login/.metadata | 17 +++--- .../flutter_firebase_login/android/.gitignore | 2 +- .../android/app/build.gradle | 49 ++++++++--------- .../android/app/src/main/AndroidManifest.xml | 53 +++++++++---------- .../app/FlutterMultiDexApplication.java | 25 --------- .../flutter_firebase_login/MainActivity.kt | 3 +- .../android/build.gradle | 18 +------ .../android/gradle.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../android/settings.gradle | 31 ++++++++--- 10 files changed, 83 insertions(+), 119 deletions(-) delete mode 100644 examples/flutter_firebase_login/android/app/src/main/java/io/flutter/app/FlutterMultiDexApplication.java diff --git a/examples/flutter_firebase_login/.metadata b/examples/flutter_firebase_login/.metadata index b674f4ff478..c7222470874 100644 --- a/examples/flutter_firebase_login/.metadata +++ b/examples/flutter_firebase_login/.metadata @@ -1,11 +1,11 @@ # This file tracks properties of this Flutter project. # Used by Flutter tool to assess capabilities and perform upgrades etc. # -# This file should be version controlled. +# This file should be version controlled and should not be manually edited. version: - revision: b1c77b7ed32346fe829c0ca97bd85d19290d54ae - channel: beta + revision: "68415ad1d920f6fe5ec284f5c2febf7c4dd5b0b3" + channel: "stable" project_type: app @@ -13,14 +13,11 @@ project_type: app migration: platforms: - platform: root - create_revision: b1c77b7ed32346fe829c0ca97bd85d19290d54ae - base_revision: b1c77b7ed32346fe829c0ca97bd85d19290d54ae + create_revision: 68415ad1d920f6fe5ec284f5c2febf7c4dd5b0b3 + base_revision: 68415ad1d920f6fe5ec284f5c2febf7c4dd5b0b3 - platform: android - create_revision: b1c77b7ed32346fe829c0ca97bd85d19290d54ae - base_revision: b1c77b7ed32346fe829c0ca97bd85d19290d54ae - - platform: ios - create_revision: b1c77b7ed32346fe829c0ca97bd85d19290d54ae - base_revision: b1c77b7ed32346fe829c0ca97bd85d19290d54ae + create_revision: 68415ad1d920f6fe5ec284f5c2febf7c4dd5b0b3 + base_revision: 68415ad1d920f6fe5ec284f5c2febf7c4dd5b0b3 # User provided section diff --git a/examples/flutter_firebase_login/android/.gitignore b/examples/flutter_firebase_login/android/.gitignore index 6f568019d3c..55afd919c65 100644 --- a/examples/flutter_firebase_login/android/.gitignore +++ b/examples/flutter_firebase_login/android/.gitignore @@ -7,7 +7,7 @@ gradle-wrapper.jar GeneratedPluginRegistrant.java # Remember to never publicly share your keystore. -# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app +# See https://flutter.dev/to/reference-keystore key.properties **/*.keystore **/*.jks diff --git a/examples/flutter_firebase_login/android/app/build.gradle b/examples/flutter_firebase_login/android/app/build.gradle index d8c9e1f1446..b42fc70ac96 100644 --- a/examples/flutter_firebase_login/android/app/build.gradle +++ b/examples/flutter_firebase_login/android/app/build.gradle @@ -1,3 +1,11 @@ +plugins { + id "com.android.application" + id 'com.google.gms.google-services' + id "kotlin-android" + // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -21,53 +29,40 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'com.google.gms.google-services' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { - namespace "com.example.flutter_firebase_login" - compileSdkVersion flutter.compileSdkVersion - ndkVersion flutter.ndkVersion + namespace = "com.example.flutter_firebase_login" + compileSdk = flutter.compileSdkVersion + ndkVersion = flutter.ndkVersion compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 } kotlinOptions { - jvmTarget = '1.8' - } - - sourceSets { - main.java.srcDirs += 'src/main/kotlin' + jvmTarget = JavaVersion.VERSION_1_8 } defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId "com.example.flutter_firebase_login" + applicationId = "com.example.flutter_firebase_login" // You can update the following values to match your application needs. - // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. - minSdkVersion flutter.minSdkVersion - targetSdkVersion flutter.targetSdkVersion - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName + // For more information, see: https://flutter.dev/to/review-gradle-config. + minSdk = 23 // flutter.minSdkVersion is 21 while firebase_auth minSdkVersion is 23 + targetSdk = flutter.targetSdkVersion + versionCode = flutter.versionCode + versionName = flutter.versionName } buildTypes { release { // TODO: Add your own signing config for the release build. // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig signingConfigs.debug + signingConfig = signingConfigs.debug } } } flutter { - source '../..' -} - -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + source = "../.." } diff --git a/examples/flutter_firebase_login/android/app/src/main/AndroidManifest.xml b/examples/flutter_firebase_login/android/app/src/main/AndroidManifest.xml index 4ede3fb1236..b04feadf77a 100644 --- a/examples/flutter_firebase_login/android/app/src/main/AndroidManifest.xml +++ b/examples/flutter_firebase_login/android/app/src/main/AndroidManifest.xml @@ -1,33 +1,30 @@ - - - - - - - - - - - - - + + + + + + + + + + + \ No newline at end of file diff --git a/examples/flutter_firebase_login/android/app/src/main/java/io/flutter/app/FlutterMultiDexApplication.java b/examples/flutter_firebase_login/android/app/src/main/java/io/flutter/app/FlutterMultiDexApplication.java deleted file mode 100644 index 752fc185d4e..00000000000 --- a/examples/flutter_firebase_login/android/app/src/main/java/io/flutter/app/FlutterMultiDexApplication.java +++ /dev/null @@ -1,25 +0,0 @@ -// Generated file. -// -// If you wish to remove Flutter's multidex support, delete this entire file. -// -// Modifications to this file should be done in a copy under a different name -// as this file may be regenerated. - -package io.flutter.app; - -import android.app.Application; -import android.content.Context; -import androidx.annotation.CallSuper; -import androidx.multidex.MultiDex; - -/** - * Extension of {@link android.app.Application}, adding multidex support. - */ -public class FlutterMultiDexApplication extends Application { - @Override - @CallSuper - protected void attachBaseContext(Context base) { - super.attachBaseContext(base); - MultiDex.install(this); - } -} diff --git a/examples/flutter_firebase_login/android/app/src/main/kotlin/com/example/flutter_firebase_login/MainActivity.kt b/examples/flutter_firebase_login/android/app/src/main/kotlin/com/example/flutter_firebase_login/MainActivity.kt index 0ee5e877a56..543b7bbf25e 100644 --- a/examples/flutter_firebase_login/android/app/src/main/kotlin/com/example/flutter_firebase_login/MainActivity.kt +++ b/examples/flutter_firebase_login/android/app/src/main/kotlin/com/example/flutter_firebase_login/MainActivity.kt @@ -2,5 +2,4 @@ package com.example.flutter_firebase_login import io.flutter.embedding.android.FlutterActivity -class MainActivity: FlutterActivity() { -} +class MainActivity: FlutterActivity() diff --git a/examples/flutter_firebase_login/android/build.gradle b/examples/flutter_firebase_login/android/build.gradle index 1927e14e1c7..d2ffbffa4cd 100644 --- a/examples/flutter_firebase_login/android/build.gradle +++ b/examples/flutter_firebase_login/android/build.gradle @@ -1,17 +1,3 @@ -buildscript { - ext.kotlin_version = '1.7.10' - repositories { - google() - mavenCentral() - } - - dependencies { - classpath 'com.android.tools.build:gradle:7.3.0' - classpath 'com.google.gms:google-services:4.3.14' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - } -} - allprojects { repositories { google() @@ -19,12 +5,12 @@ allprojects { } } -rootProject.buildDir = '../build' +rootProject.buildDir = "../build" subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" } subprojects { - project.evaluationDependsOn(':app') + project.evaluationDependsOn(":app") } tasks.register("clean", Delete) { diff --git a/examples/flutter_firebase_login/android/gradle.properties b/examples/flutter_firebase_login/android/gradle.properties index 94adc3a3f97..25971708216 100644 --- a/examples/flutter_firebase_login/android/gradle.properties +++ b/examples/flutter_firebase_login/android/gradle.properties @@ -1,3 +1,3 @@ -org.gradle.jvmargs=-Xmx1536M +org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError android.useAndroidX=true android.enableJetifier=true diff --git a/examples/flutter_firebase_login/android/gradle/wrapper/gradle-wrapper.properties b/examples/flutter_firebase_login/android/gradle/wrapper/gradle-wrapper.properties index 3c472b99c6f..7bb2df6ba6e 100644 --- a/examples/flutter_firebase_login/android/gradle/wrapper/gradle-wrapper.properties +++ b/examples/flutter_firebase_login/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip diff --git a/examples/flutter_firebase_login/android/settings.gradle b/examples/flutter_firebase_login/android/settings.gradle index 44e62bcf06a..85342b02b21 100644 --- a/examples/flutter_firebase_login/android/settings.gradle +++ b/examples/flutter_firebase_login/android/settings.gradle @@ -1,11 +1,26 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + }() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +plugins { + id "dev.flutter.flutter-plugin-loader" version "1.0.0" + id "com.android.application" version "8.1.0" apply false + id "com.google.gms.google-services" version "4.3.15" apply false + id "org.jetbrains.kotlin.android" version "1.8.22" apply false +} + +include ":app"