| // Copyright 2014 The Flutter Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| plugins { | |
| id "com.android.application" | |
| id "dev.flutter.flutter-gradle-plugin" | |
| } | |
| def localProperties = new Properties() | |
| def localPropertiesFile = rootProject.file('local.properties') | |
| if (localPropertiesFile.exists()) { | |
| localPropertiesFile.withReader('UTF-8') { reader -> | |
| localProperties.load(reader) | |
| } | |
| } | |
| def flutterRoot = localProperties.getProperty('flutter.sdk') | |
| if (flutterRoot == null) { | |
| throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") | |
| } | |
| // The Gallery app's version is defined by the Flutter framework's version. | |
| def flutterVersionFile = file("$flutterRoot/bin/cache/flutter.version.json") | |
| def flutterVersionJson = new groovy.json.JsonSlurper().parse(flutterVersionFile) | |
| def flutterVersion = flutterVersionJson.frameworkVersion | |
| def flutterVersionComponents = flutterVersion.split(/[^0-9]+/) | |
| // Let the integer version code of xx.yy.zz-pre.nnn be xxyyzznnn. | |
| int flutterVersionNumber = Math.min(flutterVersionComponents[0].toInteger(), 20) * 100000000 | |
| flutterVersionNumber += Math.min(flutterVersionComponents[1].toInteger(), 99) * 1000000 | |
| flutterVersionNumber += Math.min(flutterVersionComponents[2].toInteger(), 999) * 1000 | |
| if (flutterVersionComponents.length > 3) { | |
| flutterVersionNumber += Math.min(flutterVersionComponents[3].toInteger(), 999) | |
| } | |
| def flutterVersionCode = localProperties.getProperty('flutter.versionCode') | |
| if (flutterVersionCode == null) { | |
| flutterVersionCode = "$flutterVersionNumber" | |
| } | |
| def flutterVersionName = localProperties.getProperty('flutter.versionName') | |
| if (flutterVersionName == null) { | |
| flutterVersionName = "$flutterVersion" | |
| } | |
| android { | |
| namespace = "io.flutter.demo.gallery" | |
| compileSdk = flutter.compileSdkVersion | |
| ndkVersion = flutter.ndkVersion | |
| compileOptions { | |
| sourceCompatibility JavaVersion.VERSION_17 | |
| targetCompatibility JavaVersion.VERSION_17 | |
| } | |
| defaultConfig { | |
| applicationId "io.flutter.demo.gallery" | |
| minSdkVersion flutter.minSdkVersion | |
| targetSdkVersion flutter.targetSdkVersion | |
| versionCode flutterVersionCode.toInteger() | |
| versionName flutterVersionName | |
| testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" | |
| multiDexEnabled = true | |
| } | |
| 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 | |
| } | |
| } | |
| } | |
| flutter { | |
| source = '../..' | |
| } | |
| dependencies { | |
| testImplementation 'junit:junit:4.13' | |
| androidTestImplementation 'androidx.test:rules:1.1.1' | |
| androidTestImplementation 'androidx.test:runner:1.1.1' | |
| androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1' | |
| } |