diff --git a/android/app/build.gradle b/android/app/build.gradle index 42981921..cf40ab10 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -1,3 +1,11 @@ +plugins { + id 'com.android.application' + id 'kotlin-android' + id 'kotlinx-serialization' + id 'dev.flutter.flutter-gradle-plugin' + id 'com.google.android.gms.oss-licenses-plugin' +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,31 +14,16 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new FileNotFoundException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { - //noinspection GroovyUnusedAssignment flutterVersionCode = '1' } def flutterVersionName = localProperties.getProperty('flutter.versionName') if (flutterVersionName == null) { - //noinspection GroovyUnusedAssignment flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply plugin: 'kotlinx-serialization' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" -apply plugin: 'com.google.android.gms.oss-licenses-plugin' - -import com.android.build.OutputFile - android { namespace 'com.yubico.authenticator' @@ -58,7 +51,6 @@ android { versionName flutterVersionName } - buildTypes { release { minifyEnabled true @@ -78,7 +70,7 @@ android { applicationVariants.all { variant -> variant.outputs.each { output -> def abiCodes = ['armeabi-v7a': 1, 'arm64-v8a': 2, x86: 3, x86_64: 4] - def abiCode = abiCodes.get(output.getFilter(OutputFile.ABI)) + def abiCode = abiCodes.get(output.getFilter(com.android.build.OutputFile.ABI)) output.versionCodeOverride = variant.versionCode * 10 + (abiCode != null ? abiCode : 0) } } diff --git a/android/build.gradle b/android/build.gradle index e7b56e9f..9243e89c 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,18 +1,3 @@ -buildscript { - ext.kotlin_version = '1.9.22' - repositories { - google() - mavenCentral() - } - - dependencies { - classpath 'com.android.tools.build:gradle:8.1.4' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version" - classpath 'com.google.android.gms:oss-licenses-plugin:0.10.6' - } -} - allprojects { repositories { google() diff --git a/android/settings.gradle b/android/settings.gradle index 44e62bcf..392516e7 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -1,11 +1,35 @@ +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 + }() + + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") + + repositories { + google() + mavenCentral() + gradlePluginPortal() + } + resolutionStrategy { + eachPlugin { + // https://github.com/google/play-services-plugins/issues/223 + if (requested.id.id == "com.google.android.gms.oss-licenses-plugin") { + useModule("com.google.android.gms:oss-licenses-plugin:${requested.version}") + } + } + } +} + +plugins { + id "dev.flutter.flutter-plugin-loader" version "1.0.0" + id "com.android.application" version "8.1.4" apply false + id "org.jetbrains.kotlin.android" version "1.9.22" apply false + id "org.jetbrains.kotlin.plugin.serialization" version "1.9.22" apply false + id "com.google.android.gms.oss-licenses-plugin" version "0.10.6" apply false +} + include ':app' - -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() - -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } - -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"