Revert "Migrate template to Gradle 6.7 and AGP 4.1.0 (#70808)" (#71096)
This reverts commit 8e73bab94c6051317c9fa4279a3733b6ee2a3ef2.
diff --git a/dev/benchmarks/complex_layout/android/app/build.gradle b/dev/benchmarks/complex_layout/android/app/build.gradle
index fd4944e..3ee631d 100644
--- a/dev/benchmarks/complex_layout/android/app/build.gradle
+++ b/dev/benchmarks/complex_layout/android/app/build.gradle
@@ -19,11 +19,15 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
+
+ lintOptions {
+ disable 'InvalidPackage'
+ }
defaultConfig {
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode 1
versionName "0.0.1"
}
diff --git a/dev/benchmarks/complex_layout/android/build.gradle b/dev/benchmarks/complex_layout/android/build.gradle
index c2c4160..5df71fc 100644
--- a/dev/benchmarks/complex_layout/android/build.gradle
+++ b/dev/benchmarks/complex_layout/android/build.gradle
@@ -9,7 +9,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
diff --git a/dev/benchmarks/complex_layout/android/gradle.properties b/dev/benchmarks/complex_layout/android/gradle.properties
index 94adc3a..a673820 100644
--- a/dev/benchmarks/complex_layout/android/gradle.properties
+++ b/dev/benchmarks/complex_layout/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
+android.enableR8=true
diff --git a/dev/benchmarks/complex_layout/android/gradle/wrapper/gradle-wrapper.properties b/dev/benchmarks/complex_layout/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100644
--- a/dev/benchmarks/complex_layout/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/benchmarks/complex_layout/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/dev/benchmarks/macrobenchmarks/android/app/build.gradle b/dev/benchmarks/macrobenchmarks/android/app/build.gradle
index 057fe58..1080f42 100644
--- a/dev/benchmarks/macrobenchmarks/android/app/build.gradle
+++ b/dev/benchmarks/macrobenchmarks/android/app/build.gradle
@@ -29,12 +29,16 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
+
+ lintOptions {
+ disable 'InvalidPackage'
+ }
defaultConfig {
applicationId "com.example.macrobenchmarks"
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
diff --git a/dev/benchmarks/macrobenchmarks/android/build.gradle b/dev/benchmarks/macrobenchmarks/android/build.gradle
index c2c4160..5df71fc 100644
--- a/dev/benchmarks/macrobenchmarks/android/build.gradle
+++ b/dev/benchmarks/macrobenchmarks/android/build.gradle
@@ -9,7 +9,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
diff --git a/dev/benchmarks/macrobenchmarks/android/gradle.properties b/dev/benchmarks/macrobenchmarks/android/gradle.properties
index 94adc3a..a673820 100644
--- a/dev/benchmarks/macrobenchmarks/android/gradle.properties
+++ b/dev/benchmarks/macrobenchmarks/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
+android.enableR8=true
diff --git a/dev/benchmarks/macrobenchmarks/android/gradle/wrapper/gradle-wrapper.properties b/dev/benchmarks/macrobenchmarks/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100644
--- a/dev/benchmarks/macrobenchmarks/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/benchmarks/macrobenchmarks/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/dev/benchmarks/microbenchmarks/android/app/build.gradle b/dev/benchmarks/microbenchmarks/android/app/build.gradle
index fd4944e..3ee631d 100644
--- a/dev/benchmarks/microbenchmarks/android/app/build.gradle
+++ b/dev/benchmarks/microbenchmarks/android/app/build.gradle
@@ -19,11 +19,15 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
+
+ lintOptions {
+ disable 'InvalidPackage'
+ }
defaultConfig {
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode 1
versionName "0.0.1"
}
diff --git a/dev/benchmarks/microbenchmarks/android/build.gradle b/dev/benchmarks/microbenchmarks/android/build.gradle
index c2c4160..5df71fc 100644
--- a/dev/benchmarks/microbenchmarks/android/build.gradle
+++ b/dev/benchmarks/microbenchmarks/android/build.gradle
@@ -9,7 +9,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
diff --git a/dev/benchmarks/microbenchmarks/android/gradle.properties b/dev/benchmarks/microbenchmarks/android/gradle.properties
index 94adc3a..a673820 100644
--- a/dev/benchmarks/microbenchmarks/android/gradle.properties
+++ b/dev/benchmarks/microbenchmarks/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
+android.enableR8=true
diff --git a/dev/benchmarks/microbenchmarks/android/gradle/wrapper/gradle-wrapper.properties b/dev/benchmarks/microbenchmarks/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100644
--- a/dev/benchmarks/microbenchmarks/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/benchmarks/microbenchmarks/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/dev/benchmarks/platform_views_layout/android/app/build.gradle b/dev/benchmarks/platform_views_layout/android/app/build.gradle
index fd4944e..3ee631d 100644
--- a/dev/benchmarks/platform_views_layout/android/app/build.gradle
+++ b/dev/benchmarks/platform_views_layout/android/app/build.gradle
@@ -19,11 +19,15 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
+
+ lintOptions {
+ disable 'InvalidPackage'
+ }
defaultConfig {
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode 1
versionName "0.0.1"
}
diff --git a/dev/benchmarks/platform_views_layout/android/build.gradle b/dev/benchmarks/platform_views_layout/android/build.gradle
index c2c4160..5df71fc 100644
--- a/dev/benchmarks/platform_views_layout/android/build.gradle
+++ b/dev/benchmarks/platform_views_layout/android/build.gradle
@@ -9,7 +9,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
diff --git a/dev/benchmarks/platform_views_layout/android/gradle.properties b/dev/benchmarks/platform_views_layout/android/gradle.properties
index 94adc3a..a673820 100644
--- a/dev/benchmarks/platform_views_layout/android/gradle.properties
+++ b/dev/benchmarks/platform_views_layout/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
+android.enableR8=true
diff --git a/dev/benchmarks/platform_views_layout/android/gradle/wrapper/gradle-wrapper.properties b/dev/benchmarks/platform_views_layout/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100644
--- a/dev/benchmarks/platform_views_layout/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/benchmarks/platform_views_layout/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/dev/benchmarks/platform_views_layout_hybrid_composition/android/app/build.gradle b/dev/benchmarks/platform_views_layout_hybrid_composition/android/app/build.gradle
index fd4944e..3ee631d 100644
--- a/dev/benchmarks/platform_views_layout_hybrid_composition/android/app/build.gradle
+++ b/dev/benchmarks/platform_views_layout_hybrid_composition/android/app/build.gradle
@@ -19,11 +19,15 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
+
+ lintOptions {
+ disable 'InvalidPackage'
+ }
defaultConfig {
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode 1
versionName "0.0.1"
}
diff --git a/dev/benchmarks/platform_views_layout_hybrid_composition/android/build.gradle b/dev/benchmarks/platform_views_layout_hybrid_composition/android/build.gradle
index c2c4160..5df71fc 100644
--- a/dev/benchmarks/platform_views_layout_hybrid_composition/android/build.gradle
+++ b/dev/benchmarks/platform_views_layout_hybrid_composition/android/build.gradle
@@ -9,7 +9,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
diff --git a/dev/benchmarks/platform_views_layout_hybrid_composition/android/gradle.properties b/dev/benchmarks/platform_views_layout_hybrid_composition/android/gradle.properties
index 94adc3a..a673820 100644
--- a/dev/benchmarks/platform_views_layout_hybrid_composition/android/gradle.properties
+++ b/dev/benchmarks/platform_views_layout_hybrid_composition/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
+android.enableR8=true
diff --git a/dev/benchmarks/platform_views_layout_hybrid_composition/android/gradle/wrapper/gradle-wrapper.properties b/dev/benchmarks/platform_views_layout_hybrid_composition/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100644
--- a/dev/benchmarks/platform_views_layout_hybrid_composition/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/benchmarks/platform_views_layout_hybrid_composition/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/dev/benchmarks/test_apps/stocks/android/app/build.gradle b/dev/benchmarks/test_apps/stocks/android/app/build.gradle
index 162e0ed..7717a40 100644
--- a/dev/benchmarks/test_apps/stocks/android/app/build.gradle
+++ b/dev/benchmarks/test_apps/stocks/android/app/build.gradle
@@ -29,12 +29,16 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
+
+ lintOptions {
+ disable 'InvalidPackage'
+ }
defaultConfig {
applicationId "io.flutter.examples.stocks"
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
diff --git a/dev/benchmarks/test_apps/stocks/android/build.gradle b/dev/benchmarks/test_apps/stocks/android/build.gradle
index c2c4160..5df71fc 100644
--- a/dev/benchmarks/test_apps/stocks/android/build.gradle
+++ b/dev/benchmarks/test_apps/stocks/android/build.gradle
@@ -9,7 +9,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
diff --git a/dev/benchmarks/test_apps/stocks/android/gradle.properties b/dev/benchmarks/test_apps/stocks/android/gradle.properties
index 94adc3a..a673820 100644
--- a/dev/benchmarks/test_apps/stocks/android/gradle.properties
+++ b/dev/benchmarks/test_apps/stocks/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
+android.enableR8=true
diff --git a/dev/benchmarks/test_apps/stocks/android/gradle/wrapper/gradle-wrapper.properties b/dev/benchmarks/test_apps/stocks/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100755
--- a/dev/benchmarks/test_apps/stocks/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/benchmarks/test_apps/stocks/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/dev/devicelab/bin/tasks/gradle_plugin_light_apk_test.dart b/dev/devicelab/bin/tasks/gradle_plugin_light_apk_test.dart
index 20b2b41..f33e133 100644
--- a/dev/devicelab/bin/tasks/gradle_plugin_light_apk_test.dart
+++ b/dev/devicelab/bin/tasks/gradle_plugin_light_apk_test.dart
@@ -249,7 +249,7 @@
output.contains('at org.gradle'))
throw failure(
'Gradle output should not contain stacktrace', result);
- if (!output.contains('Build failed'))
+ if (!output.contains('Build failed') || !output.contains('builTypes'))
throw failure(
'Gradle output should contain a readable error message',
result);
@@ -285,11 +285,11 @@
throw failure(
'flutter build apk should fail when Gradle does', result);
final String output = '${result.stdout}\n${result.stderr}';
- if (!output.contains('Build failed'))
+ if (!output.contains('Build failed') || !output.contains('builTypes'))
throw failure(
'flutter build apk output should contain a readable Gradle error message',
result);
- if (hasMultipleOccurrences(output, 'Build failed'))
+ if (hasMultipleOccurrences(output, 'builTypes'))
throw failure(
'flutter build apk should not invoke Gradle repeatedly on error',
result);
diff --git a/dev/integration_tests/abstract_method_smoke_test/android/app/build.gradle b/dev/integration_tests/abstract_method_smoke_test/android/app/build.gradle
index 63b11d0..d0f73f3 100644
--- a/dev/integration_tests/abstract_method_smoke_test/android/app/build.gradle
+++ b/dev/integration_tests/abstract_method_smoke_test/android/app/build.gradle
@@ -30,12 +30,16 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
+ lintOptions {
+ disable 'InvalidPackage'
+ }
+
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
@@ -45,7 +49,7 @@
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.abstract_method_smoke_test"
minSdkVersion 21
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
diff --git a/dev/integration_tests/abstract_method_smoke_test/android/build.gradle b/dev/integration_tests/abstract_method_smoke_test/android/build.gradle
index 4b2ffeb..1c2d2db 100644
--- a/dev/integration_tests/abstract_method_smoke_test/android/build.gradle
+++ b/dev/integration_tests/abstract_method_smoke_test/android/build.gradle
@@ -10,7 +10,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
diff --git a/dev/integration_tests/abstract_method_smoke_test/android/gradle.properties b/dev/integration_tests/abstract_method_smoke_test/android/gradle.properties
index 08f2b5f..d2032bc 100644
--- a/dev/integration_tests/abstract_method_smoke_test/android/gradle.properties
+++ b/dev/integration_tests/abstract_method_smoke_test/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
android.enableJetifier=true
android.useAndroidX=true
+android.enableR8=true
diff --git a/dev/integration_tests/abstract_method_smoke_test/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/abstract_method_smoke_test/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..9ec7236 100644
--- a/dev/integration_tests/abstract_method_smoke_test/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/abstract_method_smoke_test/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.1-all.zip
diff --git a/dev/integration_tests/android_custom_host_app/SampleApp/build.gradle b/dev/integration_tests/android_custom_host_app/SampleApp/build.gradle
index c408582..a320b98 100644
--- a/dev/integration_tests/android_custom_host_app/SampleApp/build.gradle
+++ b/dev/integration_tests/android_custom_host_app/SampleApp/build.gradle
@@ -5,7 +5,7 @@
apply plugin: 'com.android.application'
android {
- compileSdkVersion 30
+ compileSdkVersion 29
compileOptions {
sourceCompatibility 1.8
@@ -15,7 +15,7 @@
defaultConfig {
applicationId "io.flutter.add2app"
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode 1
versionName "1.0"
}
diff --git a/dev/integration_tests/android_custom_host_app/build.gradle b/dev/integration_tests/android_custom_host_app/build.gradle
index 40d23f3..fdd798e 100644
--- a/dev/integration_tests/android_custom_host_app/build.gradle
+++ b/dev/integration_tests/android_custom_host_app/build.gradle
@@ -8,7 +8,7 @@
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
diff --git a/dev/integration_tests/android_custom_host_app/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/android_custom_host_app/gradle/wrapper/gradle-wrapper.properties
index 74b453c..f6c8f50 100644
--- a/dev/integration_tests/android_custom_host_app/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/android_custom_host_app/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/dev/integration_tests/android_embedding_v2_smoke_test/android/app/build.gradle b/dev/integration_tests/android_embedding_v2_smoke_test/android/app/build.gradle
index 65d0f8f..8579aa8 100644
--- a/dev/integration_tests/android_embedding_v2_smoke_test/android/app/build.gradle
+++ b/dev/integration_tests/android_embedding_v2_smoke_test/android/app/build.gradle
@@ -30,17 +30,21 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
+ lintOptions {
+ disable 'InvalidPackage'
+ }
+
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.android_embedding_v2_smoke_test"
minSdkVersion 21
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
diff --git a/dev/integration_tests/android_embedding_v2_smoke_test/android/build.gradle b/dev/integration_tests/android_embedding_v2_smoke_test/android/build.gradle
index 4b2ffeb..1c2d2db 100644
--- a/dev/integration_tests/android_embedding_v2_smoke_test/android/build.gradle
+++ b/dev/integration_tests/android_embedding_v2_smoke_test/android/build.gradle
@@ -10,7 +10,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
diff --git a/dev/integration_tests/android_embedding_v2_smoke_test/android/gradle.properties b/dev/integration_tests/android_embedding_v2_smoke_test/android/gradle.properties
index 94adc3a..38c8d45 100644
--- a/dev/integration_tests/android_embedding_v2_smoke_test/android/gradle.properties
+++ b/dev/integration_tests/android_embedding_v2_smoke_test/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
+android.enableR8=true
android.useAndroidX=true
android.enableJetifier=true
diff --git a/dev/integration_tests/android_embedding_v2_smoke_test/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/android_embedding_v2_smoke_test/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100644
--- a/dev/integration_tests/android_embedding_v2_smoke_test/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/android_embedding_v2_smoke_test/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/dev/integration_tests/android_host_app_v2_embedding/app/build.gradle b/dev/integration_tests/android_host_app_v2_embedding/app/build.gradle
index d3d6690..1a102db 100644
--- a/dev/integration_tests/android_host_app_v2_embedding/app/build.gradle
+++ b/dev/integration_tests/android_host_app_v2_embedding/app/build.gradle
@@ -5,7 +5,7 @@
apply plugin: 'com.android.application'
android {
- compileSdkVersion 30
+ compileSdkVersion 29
compileOptions {
sourceCompatibility 1.8
@@ -15,7 +15,7 @@
defaultConfig {
applicationId "io.flutter.add2app"
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode 1
versionName "1.0"
}
diff --git a/dev/integration_tests/android_host_app_v2_embedding/build.gradle b/dev/integration_tests/android_host_app_v2_embedding/build.gradle
index 40d23f3..fdd798e 100644
--- a/dev/integration_tests/android_host_app_v2_embedding/build.gradle
+++ b/dev/integration_tests/android_host_app_v2_embedding/build.gradle
@@ -8,7 +8,7 @@
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
diff --git a/dev/integration_tests/android_host_app_v2_embedding/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/android_host_app_v2_embedding/gradle/wrapper/gradle-wrapper.properties
index 74b453c..f6c8f50 100644
--- a/dev/integration_tests/android_host_app_v2_embedding/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/android_host_app_v2_embedding/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/dev/integration_tests/android_semantics_testing/android/app/build.gradle b/dev/integration_tests/android_semantics_testing/android/app/build.gradle
index a2f4fa8..682e7ff 100644
--- a/dev/integration_tests/android_semantics_testing/android/app/build.gradle
+++ b/dev/integration_tests/android_semantics_testing/android/app/build.gradle
@@ -19,11 +19,15 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
+
+ lintOptions {
+ disable 'InvalidPackage'
+ }
defaultConfig {
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode 1
versionName "0.0.1"
}
diff --git a/dev/integration_tests/android_semantics_testing/android/build.gradle b/dev/integration_tests/android_semantics_testing/android/build.gradle
index c2c4160..5df71fc 100644
--- a/dev/integration_tests/android_semantics_testing/android/build.gradle
+++ b/dev/integration_tests/android_semantics_testing/android/build.gradle
@@ -9,7 +9,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
diff --git a/dev/integration_tests/android_semantics_testing/android/gradle.properties b/dev/integration_tests/android_semantics_testing/android/gradle.properties
index 94adc3a..a673820 100644
--- a/dev/integration_tests/android_semantics_testing/android/gradle.properties
+++ b/dev/integration_tests/android_semantics_testing/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
+android.enableR8=true
diff --git a/dev/integration_tests/android_semantics_testing/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/android_semantics_testing/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100755
--- a/dev/integration_tests/android_semantics_testing/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/android_semantics_testing/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/build.gradle b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/build.gradle
index 5bbbdf1..0f0ba57 100644
--- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/build.gradle
+++ b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/build.gradle
@@ -29,13 +29,17 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
+
+ lintOptions {
+ disable 'InvalidPackage'
+ }
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "io.flutter.splash_screen_kitchen_sink"
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/build.gradle b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/build.gradle
index c2c4160..7e89070 100644
--- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/build.gradle
+++ b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/build.gradle
@@ -9,7 +9,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.2.1'
}
}
diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/gradle.properties b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/gradle.properties
index 94adc3a..a673820 100644
--- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/gradle.properties
+++ b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
+android.enableR8=true
diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100644
--- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/build.gradle b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/build.gradle
index 1b21eb3..6556ef5 100644
--- a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/build.gradle
+++ b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/build.gradle
@@ -29,13 +29,17 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
+
+ lintOptions {
+ disable 'InvalidPackage'
+ }
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "io.flutter.splash_screen_load_rotate"
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
diff --git a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/build.gradle b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/build.gradle
index c2c4160..7e89070 100644
--- a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/build.gradle
+++ b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/build.gradle
@@ -9,7 +9,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.2.1'
}
}
diff --git a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/gradle.properties b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/gradle.properties
index 94adc3a..a673820 100644
--- a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/gradle.properties
+++ b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
+android.enableR8=true
diff --git a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100644
--- a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/build.gradle b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/build.gradle
index 03dcb8e..f8c1c69 100644
--- a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/build.gradle
+++ b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/build.gradle
@@ -29,13 +29,17 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
+
+ lintOptions {
+ disable 'InvalidPackage'
+ }
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "io.flutter.splash_screen_trans_rotate"
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/build.gradle b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/build.gradle
index c2c4160..7e89070 100644
--- a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/build.gradle
+++ b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/build.gradle
@@ -9,7 +9,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.2.1'
}
}
diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/gradle.properties b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/gradle.properties
index 94adc3a..a673820 100644
--- a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/gradle.properties
+++ b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
+android.enableR8=true
diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100644
--- a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/dev/integration_tests/android_views/android/app/build.gradle b/dev/integration_tests/android_views/android/app/build.gradle
index d85ff89..eed0bcb 100644
--- a/dev/integration_tests/android_views/android/app/build.gradle
+++ b/dev/integration_tests/android_views/android/app/build.gradle
@@ -29,13 +29,17 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
+
+ lintOptions {
+ disable 'InvalidPackage'
+ }
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "io.flutter.integration.platformviews"
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
diff --git a/dev/integration_tests/android_views/android/build.gradle b/dev/integration_tests/android_views/android/build.gradle
index c2c4160..5df71fc 100644
--- a/dev/integration_tests/android_views/android/build.gradle
+++ b/dev/integration_tests/android_views/android/build.gradle
@@ -9,7 +9,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
diff --git a/dev/integration_tests/android_views/android/gradle.properties b/dev/integration_tests/android_views/android/gradle.properties
index 94adc3a..a673820 100644
--- a/dev/integration_tests/android_views/android/gradle.properties
+++ b/dev/integration_tests/android_views/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
+android.enableR8=true
diff --git a/dev/integration_tests/android_views/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/android_views/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100644
--- a/dev/integration_tests/android_views/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/android_views/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/dev/integration_tests/channels/android/app/build.gradle b/dev/integration_tests/channels/android/app/build.gradle
index a2f4fa8..682e7ff 100644
--- a/dev/integration_tests/channels/android/app/build.gradle
+++ b/dev/integration_tests/channels/android/app/build.gradle
@@ -19,11 +19,15 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
+
+ lintOptions {
+ disable 'InvalidPackage'
+ }
defaultConfig {
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode 1
versionName "0.0.1"
}
diff --git a/dev/integration_tests/channels/android/build.gradle b/dev/integration_tests/channels/android/build.gradle
index c2c4160..5df71fc 100644
--- a/dev/integration_tests/channels/android/build.gradle
+++ b/dev/integration_tests/channels/android/build.gradle
@@ -9,7 +9,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
diff --git a/dev/integration_tests/channels/android/gradle.properties b/dev/integration_tests/channels/android/gradle.properties
index 94adc3a..a673820 100644
--- a/dev/integration_tests/channels/android/gradle.properties
+++ b/dev/integration_tests/channels/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
+android.enableR8=true
diff --git a/dev/integration_tests/channels/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/channels/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100755
--- a/dev/integration_tests/channels/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/channels/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/dev/integration_tests/external_ui/android/app/build.gradle b/dev/integration_tests/external_ui/android/app/build.gradle
index 9880899..7171f2b 100644
--- a/dev/integration_tests/external_ui/android/app/build.gradle
+++ b/dev/integration_tests/external_ui/android/app/build.gradle
@@ -19,12 +19,16 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
+
+ lintOptions {
+ disable 'InvalidPackage'
+ }
defaultConfig {
applicationId "io.flutter.externalui"
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode 1
versionName "1.0"
}
diff --git a/dev/integration_tests/external_ui/android/build.gradle b/dev/integration_tests/external_ui/android/build.gradle
index c2c4160..5df71fc 100644
--- a/dev/integration_tests/external_ui/android/build.gradle
+++ b/dev/integration_tests/external_ui/android/build.gradle
@@ -9,7 +9,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
diff --git a/dev/integration_tests/external_ui/android/gradle.properties b/dev/integration_tests/external_ui/android/gradle.properties
index 94adc3a..a673820 100644
--- a/dev/integration_tests/external_ui/android/gradle.properties
+++ b/dev/integration_tests/external_ui/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
+android.enableR8=true
diff --git a/dev/integration_tests/external_ui/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/external_ui/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100644
--- a/dev/integration_tests/external_ui/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/external_ui/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/dev/integration_tests/flavors/android/app/build.gradle b/dev/integration_tests/flavors/android/app/build.gradle
index d54de5f..9a04242 100644
--- a/dev/integration_tests/flavors/android/app/build.gradle
+++ b/dev/integration_tests/flavors/android/app/build.gradle
@@ -19,12 +19,16 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
+
+ lintOptions {
+ disable 'InvalidPackage'
+ }
defaultConfig {
applicationId "com.yourcompany.flavors"
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode 1
versionName "1.0"
}
diff --git a/dev/integration_tests/flavors/android/build.gradle b/dev/integration_tests/flavors/android/build.gradle
index c2c4160..5df71fc 100644
--- a/dev/integration_tests/flavors/android/build.gradle
+++ b/dev/integration_tests/flavors/android/build.gradle
@@ -9,7 +9,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
diff --git a/dev/integration_tests/flavors/android/gradle.properties b/dev/integration_tests/flavors/android/gradle.properties
index 94adc3a..a673820 100644
--- a/dev/integration_tests/flavors/android/gradle.properties
+++ b/dev/integration_tests/flavors/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
+android.enableR8=true
diff --git a/dev/integration_tests/flavors/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/flavors/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100644
--- a/dev/integration_tests/flavors/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/flavors/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/dev/integration_tests/flutter_driver_screenshot_test/android/app/build.gradle b/dev/integration_tests/flutter_driver_screenshot_test/android/app/build.gradle
index 08378dc..8c12664 100644
--- a/dev/integration_tests/flutter_driver_screenshot_test/android/app/build.gradle
+++ b/dev/integration_tests/flutter_driver_screenshot_test/android/app/build.gradle
@@ -30,17 +30,21 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
+ lintOptions {
+ disable 'InvalidPackage'
+ }
+
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.screenshot_tests"
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
diff --git a/dev/integration_tests/flutter_driver_screenshot_test/android/build.gradle b/dev/integration_tests/flutter_driver_screenshot_test/android/build.gradle
index 4b2ffeb..1c2d2db 100644
--- a/dev/integration_tests/flutter_driver_screenshot_test/android/build.gradle
+++ b/dev/integration_tests/flutter_driver_screenshot_test/android/build.gradle
@@ -10,7 +10,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
diff --git a/dev/integration_tests/flutter_driver_screenshot_test/android/gradle.properties b/dev/integration_tests/flutter_driver_screenshot_test/android/gradle.properties
index 94adc3a..38c8d45 100644
--- a/dev/integration_tests/flutter_driver_screenshot_test/android/gradle.properties
+++ b/dev/integration_tests/flutter_driver_screenshot_test/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
+android.enableR8=true
android.useAndroidX=true
android.enableJetifier=true
diff --git a/dev/integration_tests/flutter_driver_screenshot_test/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/flutter_driver_screenshot_test/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100644
--- a/dev/integration_tests/flutter_driver_screenshot_test/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/flutter_driver_screenshot_test/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/dev/integration_tests/flutter_gallery/android/app/build.gradle b/dev/integration_tests/flutter_gallery/android/app/build.gradle
index 68ea4af..6476fe6 100644
--- a/dev/integration_tests/flutter_gallery/android/app/build.gradle
+++ b/dev/integration_tests/flutter_gallery/android/app/build.gradle
@@ -40,12 +40,16 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
+
+ lintOptions {
+ disable 'InvalidPackage'
+ }
defaultConfig {
applicationId "io.flutter.demo.gallery"
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
diff --git a/dev/integration_tests/flutter_gallery/android/build.gradle b/dev/integration_tests/flutter_gallery/android/build.gradle
index ae150cd..7adce49 100644
--- a/dev/integration_tests/flutter_gallery/android/build.gradle
+++ b/dev/integration_tests/flutter_gallery/android/build.gradle
@@ -9,7 +9,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
diff --git a/dev/integration_tests/flutter_gallery/android/gradle.properties b/dev/integration_tests/flutter_gallery/android/gradle.properties
index 94adc3a..a673820 100644
--- a/dev/integration_tests/flutter_gallery/android/gradle.properties
+++ b/dev/integration_tests/flutter_gallery/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
+android.enableR8=true
diff --git a/dev/integration_tests/flutter_gallery/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/flutter_gallery/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100644
--- a/dev/integration_tests/flutter_gallery/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/flutter_gallery/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/dev/integration_tests/gradle_deprecated_settings/android/app/build.gradle b/dev/integration_tests/gradle_deprecated_settings/android/app/build.gradle
index 13f7a3f..a66c2b2 100644
--- a/dev/integration_tests/gradle_deprecated_settings/android/app/build.gradle
+++ b/dev/integration_tests/gradle_deprecated_settings/android/app/build.gradle
@@ -19,9 +19,12 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- // This test cannot use 30 due to https://github.com/flutter/flutter/issues/70897
compileSdkVersion 29
+ lintOptions {
+ disable 'InvalidPackage'
+ }
+
defaultConfig {
applicationId "com.yourcompany.flavors"
minSdkVersion 21
diff --git a/dev/integration_tests/gradle_deprecated_settings/android/app/src/main/java/com/yourcompany/flavors/MainActivity.java b/dev/integration_tests/gradle_deprecated_settings/android/app/src/main/java/com/yourcompany/flavors/MainActivity.java
index 24f93ca..7e6d4fe 100644
--- a/dev/integration_tests/gradle_deprecated_settings/android/app/src/main/java/com/yourcompany/flavors/MainActivity.java
+++ b/dev/integration_tests/gradle_deprecated_settings/android/app/src/main/java/com/yourcompany/flavors/MainActivity.java
@@ -7,6 +7,8 @@
import android.os.Bundle;
import io.flutter.app.FlutterActivity;
+import io.flutter.plugin.common.MethodCall;
+import io.flutter.plugin.common.MethodChannel;
import io.flutter.plugins.GeneratedPluginRegistrant;
public class MainActivity extends FlutterActivity {
@@ -14,5 +16,11 @@
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
GeneratedPluginRegistrant.registerWith(this);
+ new MethodChannel(getFlutterView(), "flavor").setMethodCallHandler(new MethodChannel.MethodCallHandler() {
+ @Override
+ public void onMethodCall(MethodCall methodCall, MethodChannel.Result result) {
+ result.success(BuildConfig.FLAVOR);
+ }
+ });
}
}
diff --git a/dev/integration_tests/gradle_deprecated_settings/android/build.gradle b/dev/integration_tests/gradle_deprecated_settings/android/build.gradle
index c2c4160..5df71fc 100644
--- a/dev/integration_tests/gradle_deprecated_settings/android/build.gradle
+++ b/dev/integration_tests/gradle_deprecated_settings/android/build.gradle
@@ -9,7 +9,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
diff --git a/dev/integration_tests/gradle_deprecated_settings/android/gradle.properties b/dev/integration_tests/gradle_deprecated_settings/android/gradle.properties
index 4d3226a..a673820 100644
--- a/dev/integration_tests/gradle_deprecated_settings/android/gradle.properties
+++ b/dev/integration_tests/gradle_deprecated_settings/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
-android.enableJetifier=true
\ No newline at end of file
+android.enableJetifier=true
+android.enableR8=true
diff --git a/dev/integration_tests/gradle_deprecated_settings/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/gradle_deprecated_settings/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100644
--- a/dev/integration_tests/gradle_deprecated_settings/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/gradle_deprecated_settings/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/dev/integration_tests/hybrid_android_views/android/app/build.gradle b/dev/integration_tests/hybrid_android_views/android/app/build.gradle
index d85ff89..eed0bcb 100644
--- a/dev/integration_tests/hybrid_android_views/android/app/build.gradle
+++ b/dev/integration_tests/hybrid_android_views/android/app/build.gradle
@@ -29,13 +29,17 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
+
+ lintOptions {
+ disable 'InvalidPackage'
+ }
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "io.flutter.integration.platformviews"
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
diff --git a/dev/integration_tests/hybrid_android_views/android/build.gradle b/dev/integration_tests/hybrid_android_views/android/build.gradle
index c2c4160..5df71fc 100644
--- a/dev/integration_tests/hybrid_android_views/android/build.gradle
+++ b/dev/integration_tests/hybrid_android_views/android/build.gradle
@@ -9,7 +9,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
diff --git a/dev/integration_tests/hybrid_android_views/android/gradle.properties b/dev/integration_tests/hybrid_android_views/android/gradle.properties
index 94adc3a..a673820 100644
--- a/dev/integration_tests/hybrid_android_views/android/gradle.properties
+++ b/dev/integration_tests/hybrid_android_views/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
+android.enableR8=true
diff --git a/dev/integration_tests/hybrid_android_views/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/hybrid_android_views/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100644
--- a/dev/integration_tests/hybrid_android_views/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/hybrid_android_views/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/dev/integration_tests/image_loading/android/app/bin/build.gradle b/dev/integration_tests/image_loading/android/app/bin/build.gradle
index a2f4fa8..682e7ff 100644
--- a/dev/integration_tests/image_loading/android/app/bin/build.gradle
+++ b/dev/integration_tests/image_loading/android/app/bin/build.gradle
@@ -19,11 +19,15 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
+
+ lintOptions {
+ disable 'InvalidPackage'
+ }
defaultConfig {
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode 1
versionName "0.0.1"
}
diff --git a/dev/integration_tests/image_loading/android/app/build.gradle b/dev/integration_tests/image_loading/android/app/build.gradle
index a2f4fa8..682e7ff 100644
--- a/dev/integration_tests/image_loading/android/app/build.gradle
+++ b/dev/integration_tests/image_loading/android/app/build.gradle
@@ -19,11 +19,15 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
+
+ lintOptions {
+ disable 'InvalidPackage'
+ }
defaultConfig {
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode 1
versionName "0.0.1"
}
diff --git a/dev/integration_tests/image_loading/android/build.gradle b/dev/integration_tests/image_loading/android/build.gradle
index c2c4160..5df71fc 100644
--- a/dev/integration_tests/image_loading/android/build.gradle
+++ b/dev/integration_tests/image_loading/android/build.gradle
@@ -9,7 +9,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
diff --git a/dev/integration_tests/image_loading/android/gradle.properties b/dev/integration_tests/image_loading/android/gradle.properties
index 94adc3a..a673820 100644
--- a/dev/integration_tests/image_loading/android/gradle.properties
+++ b/dev/integration_tests/image_loading/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
+android.enableR8=true
diff --git a/dev/integration_tests/image_loading/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/image_loading/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100755
--- a/dev/integration_tests/image_loading/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/image_loading/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/dev/integration_tests/module_host_with_custom_build_v2_embedding/app/build.gradle b/dev/integration_tests/module_host_with_custom_build_v2_embedding/app/build.gradle
index 4b21d20..5282605 100644
--- a/dev/integration_tests/module_host_with_custom_build_v2_embedding/app/build.gradle
+++ b/dev/integration_tests/module_host_with_custom_build_v2_embedding/app/build.gradle
@@ -5,7 +5,7 @@
apply plugin: 'com.android.application'
android {
- compileSdkVersion 30
+ compileSdkVersion 29
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
@@ -13,7 +13,7 @@
defaultConfig {
applicationId "io.flutter.addtoapp"
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode 1
versionName "1.0"
}
diff --git a/dev/integration_tests/module_host_with_custom_build_v2_embedding/build.gradle b/dev/integration_tests/module_host_with_custom_build_v2_embedding/build.gradle
index 40d23f3..afef97c 100644
--- a/dev/integration_tests/module_host_with_custom_build_v2_embedding/build.gradle
+++ b/dev/integration_tests/module_host_with_custom_build_v2_embedding/build.gradle
@@ -8,7 +8,7 @@
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.2.1'
}
}
diff --git a/dev/integration_tests/module_host_with_custom_build_v2_embedding/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/module_host_with_custom_build_v2_embedding/gradle/wrapper/gradle-wrapper.properties
index 74b453c..f6c8f50 100644
--- a/dev/integration_tests/module_host_with_custom_build_v2_embedding/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/module_host_with_custom_build_v2_embedding/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/dev/integration_tests/non_nullable/android/app/build.gradle b/dev/integration_tests/non_nullable/android/app/build.gradle
index 88705de..c6d2150 100644
--- a/dev/integration_tests/non_nullable/android/app/build.gradle
+++ b/dev/integration_tests/non_nullable/android/app/build.gradle
@@ -30,17 +30,21 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
+ lintOptions {
+ disable 'InvalidPackage'
+ }
+
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.non_nullable"
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
diff --git a/dev/integration_tests/non_nullable/android/build.gradle b/dev/integration_tests/non_nullable/android/build.gradle
index 4b2ffeb..1c2d2db 100644
--- a/dev/integration_tests/non_nullable/android/build.gradle
+++ b/dev/integration_tests/non_nullable/android/build.gradle
@@ -10,7 +10,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
diff --git a/dev/integration_tests/non_nullable/android/gradle.properties b/dev/integration_tests/non_nullable/android/gradle.properties
index 94adc3a..38c8d45 100644
--- a/dev/integration_tests/non_nullable/android/gradle.properties
+++ b/dev/integration_tests/non_nullable/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
+android.enableR8=true
android.useAndroidX=true
android.enableJetifier=true
diff --git a/dev/integration_tests/non_nullable/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/non_nullable/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100644
--- a/dev/integration_tests/non_nullable/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/non_nullable/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/dev/integration_tests/platform_interaction/android/app/build.gradle b/dev/integration_tests/platform_interaction/android/app/build.gradle
index a2f4fa8..682e7ff 100644
--- a/dev/integration_tests/platform_interaction/android/app/build.gradle
+++ b/dev/integration_tests/platform_interaction/android/app/build.gradle
@@ -19,11 +19,15 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
+
+ lintOptions {
+ disable 'InvalidPackage'
+ }
defaultConfig {
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode 1
versionName "0.0.1"
}
diff --git a/dev/integration_tests/platform_interaction/android/build.gradle b/dev/integration_tests/platform_interaction/android/build.gradle
index c2c4160..5df71fc 100644
--- a/dev/integration_tests/platform_interaction/android/build.gradle
+++ b/dev/integration_tests/platform_interaction/android/build.gradle
@@ -9,7 +9,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
diff --git a/dev/integration_tests/platform_interaction/android/gradle.properties b/dev/integration_tests/platform_interaction/android/gradle.properties
index 94adc3a..a673820 100644
--- a/dev/integration_tests/platform_interaction/android/gradle.properties
+++ b/dev/integration_tests/platform_interaction/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
+android.enableR8=true
diff --git a/dev/integration_tests/platform_interaction/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/platform_interaction/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100755
--- a/dev/integration_tests/platform_interaction/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/platform_interaction/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/dev/integration_tests/release_smoke_test/android/app/build.gradle b/dev/integration_tests/release_smoke_test/android/app/build.gradle
index ed4df28..03b459e 100644
--- a/dev/integration_tests/release_smoke_test/android/app/build.gradle
+++ b/dev/integration_tests/release_smoke_test/android/app/build.gradle
@@ -29,13 +29,17 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
+
+ lintOptions {
+ disable 'InvalidPackage'
+ }
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.release_smoke_test"
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
diff --git a/dev/integration_tests/release_smoke_test/android/build.gradle b/dev/integration_tests/release_smoke_test/android/build.gradle
index c2c4160..5df71fc 100644
--- a/dev/integration_tests/release_smoke_test/android/build.gradle
+++ b/dev/integration_tests/release_smoke_test/android/build.gradle
@@ -9,7 +9,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
diff --git a/dev/integration_tests/release_smoke_test/android/gradle.properties b/dev/integration_tests/release_smoke_test/android/gradle.properties
index d1ab454..b1e161a 100644
--- a/dev/integration_tests/release_smoke_test/android/gradle.properties
+++ b/dev/integration_tests/release_smoke_test/android/gradle.properties
@@ -1,5 +1,6 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
+android.enableR8=true
android.useAndroidX=true
android.enableJetifier=true
diff --git a/dev/integration_tests/release_smoke_test/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/release_smoke_test/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..9ec7236 100644
--- a/dev/integration_tests/release_smoke_test/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/release_smoke_test/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.1-all.zip
diff --git a/dev/integration_tests/ui/android/app/build.gradle b/dev/integration_tests/ui/android/app/build.gradle
index a1849af..77ae3e7 100644
--- a/dev/integration_tests/ui/android/app/build.gradle
+++ b/dev/integration_tests/ui/android/app/build.gradle
@@ -19,11 +19,15 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
+
+ lintOptions {
+ disable 'InvalidPackage'
+ }
defaultConfig {
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode 1
versionName "1.0"
}
diff --git a/dev/integration_tests/ui/android/build.gradle b/dev/integration_tests/ui/android/build.gradle
index c2c4160..5df71fc 100644
--- a/dev/integration_tests/ui/android/build.gradle
+++ b/dev/integration_tests/ui/android/build.gradle
@@ -9,7 +9,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
diff --git a/dev/integration_tests/ui/android/gradle.properties b/dev/integration_tests/ui/android/gradle.properties
index 94adc3a..a673820 100644
--- a/dev/integration_tests/ui/android/gradle.properties
+++ b/dev/integration_tests/ui/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
+android.enableR8=true
diff --git a/dev/integration_tests/ui/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/ui/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100644
--- a/dev/integration_tests/ui/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/integration_tests/ui/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/dev/manual_tests/android/app/build.gradle b/dev/manual_tests/android/app/build.gradle
index 6b4f3fd..ec08213 100644
--- a/dev/manual_tests/android/app/build.gradle
+++ b/dev/manual_tests/android/app/build.gradle
@@ -30,7 +30,7 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
@@ -44,7 +44,7 @@
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.manual_tests"
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
diff --git a/dev/manual_tests/android/build.gradle b/dev/manual_tests/android/build.gradle
index 4b2ffeb..1c2d2db 100644
--- a/dev/manual_tests/android/build.gradle
+++ b/dev/manual_tests/android/build.gradle
@@ -10,7 +10,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
diff --git a/dev/manual_tests/android/gradle.properties b/dev/manual_tests/android/gradle.properties
index 94adc3a..38c8d45 100644
--- a/dev/manual_tests/android/gradle.properties
+++ b/dev/manual_tests/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
+android.enableR8=true
android.useAndroidX=true
android.enableJetifier=true
diff --git a/dev/manual_tests/android/gradle/wrapper/gradle-wrapper.properties b/dev/manual_tests/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100644
--- a/dev/manual_tests/android/gradle/wrapper/gradle-wrapper.properties
+++ b/dev/manual_tests/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/examples/flutter_view/android/app/build.gradle b/examples/flutter_view/android/app/build.gradle
index 364d054..98ae98a 100644
--- a/examples/flutter_view/android/app/build.gradle
+++ b/examples/flutter_view/android/app/build.gradle
@@ -29,12 +29,16 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
+
+ lintOptions {
+ disable 'InvalidPackage'
+ }
defaultConfig {
applicationId "io.flutter.examples.flutter_view"
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
diff --git a/examples/flutter_view/android/build.gradle b/examples/flutter_view/android/build.gradle
index c2c4160..5df71fc 100644
--- a/examples/flutter_view/android/build.gradle
+++ b/examples/flutter_view/android/build.gradle
@@ -9,7 +9,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
diff --git a/examples/flutter_view/android/gradle.properties b/examples/flutter_view/android/gradle.properties
index 94adc3a..a673820 100644
--- a/examples/flutter_view/android/gradle.properties
+++ b/examples/flutter_view/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
+android.enableR8=true
diff --git a/examples/flutter_view/android/gradle/wrapper/gradle-wrapper.properties b/examples/flutter_view/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100644
--- a/examples/flutter_view/android/gradle/wrapper/gradle-wrapper.properties
+++ b/examples/flutter_view/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/examples/hello_world/android/app/build.gradle b/examples/hello_world/android/app/build.gradle
index 9741e1c..45d8d41 100644
--- a/examples/hello_world/android/app/build.gradle
+++ b/examples/hello_world/android/app/build.gradle
@@ -29,12 +29,16 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
+
+ lintOptions {
+ disable 'InvalidPackage'
+ }
defaultConfig {
applicationId "io.flutter.examples.hello_world"
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
diff --git a/examples/hello_world/android/build.gradle b/examples/hello_world/android/build.gradle
index c2c4160..5df71fc 100644
--- a/examples/hello_world/android/build.gradle
+++ b/examples/hello_world/android/build.gradle
@@ -9,7 +9,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
diff --git a/examples/hello_world/android/gradle.properties b/examples/hello_world/android/gradle.properties
index 94adc3a..a673820 100644
--- a/examples/hello_world/android/gradle.properties
+++ b/examples/hello_world/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
+android.enableR8=true
diff --git a/examples/hello_world/android/gradle/wrapper/gradle-wrapper.properties b/examples/hello_world/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100644
--- a/examples/hello_world/android/gradle/wrapper/gradle-wrapper.properties
+++ b/examples/hello_world/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/examples/image_list/android/app/build.gradle b/examples/image_list/android/app/build.gradle
index df205c3..447218a 100644
--- a/examples/image_list/android/app/build.gradle
+++ b/examples/image_list/android/app/build.gradle
@@ -29,13 +29,17 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
+
+ lintOptions {
+ disable 'InvalidPackage'
+ }
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.image_list"
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
diff --git a/examples/image_list/android/build.gradle b/examples/image_list/android/build.gradle
index c2c4160..7e89070 100644
--- a/examples/image_list/android/build.gradle
+++ b/examples/image_list/android/build.gradle
@@ -9,7 +9,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.2.1'
}
}
diff --git a/examples/image_list/android/gradle.properties b/examples/image_list/android/gradle.properties
index 94adc3a..a673820 100644
--- a/examples/image_list/android/gradle.properties
+++ b/examples/image_list/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
+android.enableR8=true
diff --git a/examples/layers/android/app/build.gradle b/examples/layers/android/app/build.gradle
index 597bf40..44f6f29 100644
--- a/examples/layers/android/app/build.gradle
+++ b/examples/layers/android/app/build.gradle
@@ -29,12 +29,16 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
+
+ lintOptions {
+ disable 'InvalidPackage'
+ }
defaultConfig {
applicationId "io.flutter.examples.layers"
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
diff --git a/examples/layers/android/build.gradle b/examples/layers/android/build.gradle
index c2c4160..5df71fc 100644
--- a/examples/layers/android/build.gradle
+++ b/examples/layers/android/build.gradle
@@ -9,7 +9,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
diff --git a/examples/layers/android/gradle.properties b/examples/layers/android/gradle.properties
index 94adc3a..a673820 100644
--- a/examples/layers/android/gradle.properties
+++ b/examples/layers/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
+android.enableR8=true
diff --git a/examples/layers/android/gradle/wrapper/gradle-wrapper.properties b/examples/layers/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100644
--- a/examples/layers/android/gradle/wrapper/gradle-wrapper.properties
+++ b/examples/layers/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/examples/platform_channel/android/app/build.gradle b/examples/platform_channel/android/app/build.gradle
index b46a1e0..91fa03a 100644
--- a/examples/platform_channel/android/app/build.gradle
+++ b/examples/platform_channel/android/app/build.gradle
@@ -29,12 +29,16 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
+
+ lintOptions {
+ disable 'InvalidPackage'
+ }
defaultConfig {
applicationId "io.flutter.examples.platform_channel"
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
diff --git a/examples/platform_channel/android/build.gradle b/examples/platform_channel/android/build.gradle
index c2c4160..5df71fc 100644
--- a/examples/platform_channel/android/build.gradle
+++ b/examples/platform_channel/android/build.gradle
@@ -9,7 +9,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
diff --git a/examples/platform_channel/android/gradle.properties b/examples/platform_channel/android/gradle.properties
index 94adc3a..a673820 100644
--- a/examples/platform_channel/android/gradle.properties
+++ b/examples/platform_channel/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
+android.enableR8=true
diff --git a/examples/platform_channel/android/gradle/wrapper/gradle-wrapper.properties b/examples/platform_channel/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100644
--- a/examples/platform_channel/android/gradle/wrapper/gradle-wrapper.properties
+++ b/examples/platform_channel/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/examples/platform_view/android/app/build.gradle b/examples/platform_view/android/app/build.gradle
index fb88ce8..9b501f3 100644
--- a/examples/platform_view/android/app/build.gradle
+++ b/examples/platform_view/android/app/build.gradle
@@ -29,12 +29,16 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
+
+ lintOptions {
+ disable 'InvalidPackage'
+ }
defaultConfig {
applicationId "io.flutter.examples.platform_view"
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
diff --git a/examples/platform_view/android/build.gradle b/examples/platform_view/android/build.gradle
index c2c4160..5df71fc 100644
--- a/examples/platform_view/android/build.gradle
+++ b/examples/platform_view/android/build.gradle
@@ -9,7 +9,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
diff --git a/examples/platform_view/android/gradle.properties b/examples/platform_view/android/gradle.properties
index 94adc3a..a673820 100644
--- a/examples/platform_view/android/gradle.properties
+++ b/examples/platform_view/android/gradle.properties
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
+android.enableR8=true
diff --git a/examples/platform_view/android/gradle/wrapper/gradle-wrapper.properties b/examples/platform_view/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100644
--- a/examples/platform_view/android/gradle/wrapper/gradle-wrapper.properties
+++ b/examples/platform_view/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/packages/flutter_tools/gradle/flutter.gradle b/packages/flutter_tools/gradle/flutter.gradle
index 3b71065..1ca71d7 100644
--- a/packages/flutter_tools/gradle/flutter.gradle
+++ b/packages/flutter_tools/gradle/flutter.gradle
@@ -27,7 +27,7 @@
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
@@ -101,8 +101,7 @@
this.project = project
project.extensions.create("flutter", FlutterExtension)
- this.addFlutterTasks(project)
-
+ project.afterEvaluate this.&addFlutterTasks
// By default, assembling APKs generates fat APKs if multiple platforms are passed.
// Configuring split per ABI allows to generate separate APKs for each abi.
// This is a noop when building a bundle.
@@ -159,23 +158,24 @@
}
}
- String flutterProguardRules = Paths.get(flutterRoot.absolutePath, "packages", "flutter_tools",
- "gradle", "flutter_proguard_rules.pro")
- project.android.buildTypes {
- release {
- // Enables code shrinking, obfuscation, and optimization for only
- // your project's release build type.
- minifyEnabled true
- // Enables resource shrinking, which is performed by the
- // Android Gradle plugin.
- // NOTE: The resource shrinker can't be used for libraries.
- shrinkResources isBuiltAsApp(project)
- // Fallback to `android/app/proguard-rules.pro`.
- // This way, custom Proguard rules can be configured as needed.
- proguardFiles project.android.getDefaultProguardFile("proguard-android.txt"), flutterProguardRules, "proguard-rules.pro"
+ if (shouldShrinkResources(project)) {
+ String flutterProguardRules = Paths.get(flutterRoot.absolutePath, "packages", "flutter_tools",
+ "gradle", "flutter_proguard_rules.pro")
+ project.android.buildTypes {
+ release {
+ // Enables code shrinking, obfuscation, and optimization for only
+ // your project's release build type.
+ minifyEnabled true
+ // Enables resource shrinking, which is performed by the
+ // Android Gradle plugin.
+ // NOTE: The resource shrinker can't be used for libraries.
+ shrinkResources isBuiltAsApp(project)
+ // Fallback to `android/app/proguard-rules.pro`.
+ // This way, custom Proguard rules can be configured as needed.
+ proguardFiles project.android.getDefaultProguardFile("proguard-android.txt"), flutterProguardRules, "proguard-rules.pro"
+ }
}
}
-
if (useLocalEngine()) {
// This is required to pass the local engine to flutter build aot.
String engineOutPath = project.property('local-engine-out')
@@ -322,13 +322,13 @@
)
}
pluginProject.afterEvaluate {
- pluginProject.android.buildTypes {
- profile {
- initWith debug
- }
- }
- pluginProject.android.buildTypes.each addEmbeddingCompileOnlyDependency
- pluginProject.android.buildTypes.whenObjectAdded addEmbeddingCompileOnlyDependency
+ pluginProject.android.buildTypes {
+ profile {
+ initWith debug
+ }
+ }
+ pluginProject.android.buildTypes.each addEmbeddingCompileOnlyDependency
+ pluginProject.android.buildTypes.whenObjectAdded addEmbeddingCompileOnlyDependency
}
}
@@ -490,6 +490,14 @@
return false
}
+
+ private static Boolean shouldShrinkResources(Project project) {
+ if (project.hasProperty("shrink")) {
+ return project.property("shrink").toBoolean()
+ }
+ return false
+ }
+
private static Boolean isBuiltAsApp(Project project) {
// Projects are built as applications when the they use the `com.android.application`
// plugin.
@@ -562,21 +570,13 @@
return "${targetArch}-release"
}
- /**
- * Gets the directory that contains the Flutter source code.
- * This is the the directory containing the `android/` directory.
- */
- private File getFlutterSourceDirectory() {
+ private void addFlutterTasks(Project project) {
+ if (project.state.failure) {
+ return
+ }
if (project.flutter.source == null) {
throw new GradleException("Must provide Flutter source directory")
}
- return project.file(project.flutter.source)
- }
-
- /**
- * Gets the target file. This is typically `lib/main.dart`.
- */
- private String getFlutterTarget() {
String target = project.flutter.target
if (target == null) {
target = 'lib/main.dart'
@@ -584,66 +584,6 @@
if (project.hasProperty('target')) {
target = project.property('target')
}
- return target
- }
-
- // In AGP 4.0, the Android linter task depends on the JAR tasks that generate `libapp.so`.
- // When building APKs, this causes an issue where building release requires the debug JAR,
- // but Gradle won't build debug.
- //
- // To workaround this issue, only configure the JAR task that is required given the task
- // from the command line.
- //
- // The AGP team said that this issue is fixed in Gradle 7.0, which isn't released at the
- // time of adding this code. Once released, this can be removed.
- //
- // Tested cases:
- // * `./gradlew assembleRelease`
- // * `./gradlew app:assembleRelease.`
- // * `./gradlew assemble{flavorName}Release`
- // * `./gradlew app:assemble{flavorName}Release`
- // * `./gradlew assemble.`
- // * `./gradlew app:assemble.`
- // * `./gradlew bundle.`
- // * `./gradlew bundleRelease.`
- // * `./gradlew app:bundleRelease.`
- //
- // Related issues:
- // https://issuetracker.google.com/issues/158060799
- // https://issuetracker.google.com/issues/158753935
- private boolean shouldConfigureFlutterTask(Task assembleTask) {
- def cliTasksNames = project.gradle.startParameter.taskNames
- if (cliTasksNames.size() != 1 || !cliTasksNames.first().contains("assemble")) {
- return true
- }
- def taskName = cliTasksNames.first().split(":").last()
- if (taskName == "assemble") {
- return true
- }
- if (taskName == assembleTask.name) {
- return true
- }
- if (taskName.endsWith("Release") && assembleTask.name.endsWith("Release")) {
- return true
- }
- if (taskName.endsWith("Debug") && assembleTask.name.endsWith("Debug")) {
- return true
- }
- if (taskName.endsWith("Profile") && assembleTask.name.endsWith("Profile")) {
- return true
- }
- return false
- }
-
- private Task getAssembleTask(variant) {
- // `assemble` became `assembleProvider` in AGP 3.3.0.
- return variant.hasProperty("assembleProvider") ? variant.assembleProvider.get() : variant.assemble
- }
-
- private void addFlutterTasks(Project project) {
- if (project.state.failure) {
- return
- }
String[] fileSystemRootsValue = null
if (project.hasProperty('filesystem-roots')) {
fileSystemRootsValue = project.property('filesystem-roots').split('\\|')
@@ -715,14 +655,14 @@
buildMode variantBuildMode
localEngine this.localEngine
localEngineSrcPath this.localEngineSrcPath
- targetPath getFlutterTarget()
+ targetPath target
verbose isVerbose()
fastStart isFastStart()
fileSystemRoots fileSystemRootsValue
fileSystemScheme fileSystemSchemeValue
trackWidgetCreation trackWidgetCreationValue
targetPlatformValues = targetPlatforms
- sourceDir getFlutterSourceDirectory()
+ sourceDir project.file(project.flutter.source)
intermediateDir project.file("${project.buildDir}/${AndroidProject.FD_INTERMEDIATES}/flutter/${variant.name}/")
extraFrontEndOptions extraFrontEndOptionsValue
extraGenSnapshotOptions extraGenSnapshotOptionsValue
@@ -794,22 +734,48 @@
def processResources = variantOutput.hasProperty("processResourcesProvider") ?
variantOutput.processResourcesProvider.get() : variantOutput.processResources
processResources.dependsOn(copyFlutterAssetsTask)
+ return
}
- return copyFlutterAssetsTask
- }
- boolean isFlutterAppProject = project.android.hasProperty("applicationVariants")
- if (isFlutterAppProject) {
- project.android.applicationVariants.all { variant ->
- Task assembleTask = getAssembleTask(variant)
- if (!shouldConfigureFlutterTask(assembleTask)) {
- return
+ // Flutter module included as a subproject in add to app.
+ String hostAppProjectName = project.rootProject.hasProperty('flutter.hostAppProjectName') ? project.rootProject.property('flutter.hostAppProjectName') : "app"
+ Project appProject = project.rootProject.findProject(":${hostAppProjectName}")
+ assert appProject != null : "Project :${hostAppProjectName} doesn't exist. To custom the host app project name, set `org.gradle.project.flutter.hostAppProjectName=<project-name>` in gradle.properties."
+ appProject.afterEvaluate {
+ assert appProject.android != null
+ appProject.android.applicationVariants.all { appProjectVariant ->
+ // Find a compatible application variant in the host app.
+ //
+ // For example, consider a host app that defines the following variants:
+ // | ----------------- | ----------------------------- |
+ // | Build Variant | Flutter Equivalent Variant |
+ // | ----------------- | ----------------------------- |
+ // | freeRelease | relese |
+ // | freeDebug | debug |
+ // | freeDevelop | debug |
+ // | profile | profile |
+ // | ----------------- | ----------------------------- |
+ //
+ // This mapping is based on the following rules:
+ // 1. If the host app build variant name is `profile` then the equivalent
+ // Flutter variant is `profile`.
+ // 2. If the host app build variant is debuggable
+ // (e.g. `buildType.debuggable = true`), then the equivalent Flutter
+ // variant is `debug`.
+ // 3. Otherwise, the equivalent Flutter variant is `release`.
+ if (buildModeFor(appProjectVariant.buildType) != variantBuildMode) {
+ return
+ }
+ Task mergeAssets = project
+ .tasks
+ .findByPath(":${hostAppProjectName}:merge${appProjectVariant.name.capitalize()}Assets")
+ assert mergeAssets
+ mergeAssets.dependsOn(copyFlutterAssetsTask)
}
- Task copyFlutterAssetsTask = addFlutterDeps(variant)
- def variantOutput = variant.outputs.first()
- def processResources = variantOutput.hasProperty("processResourcesProvider") ?
- variantOutput.processResourcesProvider.get() : variantOutput.processResources
- processResources.dependsOn(copyFlutterAssetsTask)
-
+ }
+ }
+ if (project.android.hasProperty("applicationVariants")) {
+ project.android.applicationVariants.all { variant ->
+ addFlutterDeps(variant)
// Copy the output APKs into a known location, so `flutter run` or `flutter build apk`
// can discover them. By default, this is `<app-dir>/build/app/outputs/flutter-apk/<filename>.apk`.
//
@@ -819,6 +785,10 @@
// * `flavor-name` is the flavor used to build the app in lower case if the assemble task is called.
// * `build-mode` can be `release|debug|profile`.
variant.outputs.all { output ->
+ // `assemble` became `assembleProvider` in AGP 3.3.0.
+ def assembleTask = variant.hasProperty("assembleProvider")
+ ? variant.assembleProvider.get()
+ : variant.assemble
assembleTask.doLast {
// `packageApplication` became `packageApplicationProvider` in AGP 3.3.0.
def outputDirectory = variant.hasProperty("packageApplicationProvider")
@@ -847,56 +817,8 @@
}
}
}
- configurePlugins()
- return
- }
- // Flutter host module project (Add-to-app).
- String hostAppProjectName = project.rootProject.hasProperty('flutter.hostAppProjectName') ? project.rootProject.property('flutter.hostAppProjectName') : "app"
- Project appProject = project.rootProject.findProject(":${hostAppProjectName}")
- assert appProject != null : "Project :${hostAppProjectName} doesn't exist. To custom the host app project name, set `org.gradle.project.flutter.hostAppProjectName=<project-name>` in gradle.properties."
- // Wait for the host app project configuration.
- appProject.afterEvaluate {
- assert appProject.android != null
- project.android.libraryVariants.all { libraryVariant ->
- Task copyFlutterAssetsTask
- appProject.android.applicationVariants.all { appProjectVariant ->
- Task appAssembleTask = getAssembleTask(appProjectVariant)
- if (!shouldConfigureFlutterTask(appAssembleTask)) {
- return
- }
- // Find a compatible application variant in the host app.
- //
- // For example, consider a host app that defines the following variants:
- // | ----------------- | ----------------------------- |
- // | Build Variant | Flutter Equivalent Variant |
- // | ----------------- | ----------------------------- |
- // | freeRelease | relese |
- // | freeDebug | debug |
- // | freeDevelop | debug |
- // | profile | profile |
- // | ----------------- | ----------------------------- |
- //
- // This mapping is based on the following rules:
- // 1. If the host app build variant name is `profile` then the equivalent
- // Flutter variant is `profile`.
- // 2. If the host app build variant is debuggable
- // (e.g. `buildType.debuggable = true`), then the equivalent Flutter
- // variant is `debug`.
- // 3. Otherwise, the equivalent Flutter variant is `release`.
- String variantBuildMode = buildModeFor(libraryVariant.buildType)
- if (buildModeFor(appProjectVariant.buildType) != variantBuildMode) {
- return
- }
- if (copyFlutterAssetsTask == null) {
- copyFlutterAssetsTask = addFlutterDeps(libraryVariant)
- }
- Task mergeAssets = project
- .tasks
- .findByPath(":${hostAppProjectName}:merge${appProjectVariant.name.capitalize()}Assets")
- assert mergeAssets
- mergeAssets.dependsOn(copyFlutterAssetsTask)
- }
- }
+ } else {
+ project.android.libraryVariants.all addFlutterDeps
}
configurePlugins()
}
diff --git a/packages/flutter_tools/lib/src/android/gradle.dart b/packages/flutter_tools/lib/src/android/gradle.dart
index 17584a8..b1846b6 100644
--- a/packages/flutter_tools/lib/src/android/gradle.dart
+++ b/packages/flutter_tools/lib/src/android/gradle.dart
@@ -324,6 +324,9 @@
if (androidBuildInfo.splitPerAbi) {
command.add('-Psplit-per-abi=true');
}
+ if (androidBuildInfo.shrink) {
+ command.add('-Pshrink=true');
+ }
if (androidBuildInfo.buildInfo.dartDefines?.isNotEmpty ?? false) {
command.add('-Pdart-defines=${encodeDartDefines(androidBuildInfo.buildInfo.dartDefines)}');
}
diff --git a/packages/flutter_tools/lib/src/android/gradle_errors.dart b/packages/flutter_tools/lib/src/android/gradle_errors.dart
index 82acc21..5b7010d 100644
--- a/packages/flutter_tools/lib/src/android/gradle_errors.dart
+++ b/packages/flutter_tools/lib/src/android/gradle_errors.dart
@@ -228,7 +228,7 @@
}
if (hasPlugins && usesAndroidX && !shouldBuildPluginAsAar) {
globals.printStatus(
- 'The build failed likely due to AndroidX incompatibilities in a plugin. '
+ 'The built failed likely due to AndroidX incompatibilities in a plugin. '
'The tool is about to try using Jetfier to solve the incompatibility.'
);
BuildEvent(
diff --git a/packages/flutter_tools/lib/src/android/gradle_utils.dart b/packages/flutter_tools/lib/src/android/gradle_utils.dart
index 84cd3fa..ab493f9 100644
--- a/packages/flutter_tools/lib/src/android/gradle_utils.dart
+++ b/packages/flutter_tools/lib/src/android/gradle_utils.dart
@@ -40,6 +40,9 @@
/// This is the `gradlew` or `gradlew.bat` script in the `android/` directory.
String getExecutable(FlutterProject project) {
final Directory androidDir = project.android.hostAppGradleRoot;
+ // Update the project if needed.
+ // TODO(egarciad): https://github.com/flutter/flutter/issues/40460
+ gradleUtils.migrateToR8(androidDir);
gradleUtils.injectGradleWrapperIfNeeded(androidDir);
final File gradle = androidDir.childFile(
@@ -59,6 +62,37 @@
return null;
}
+ /// Migrates the Android's [directory] to R8.
+ /// https://developer.android.com/studio/build/shrink-code
+ @visibleForTesting
+ void migrateToR8(Directory directory) {
+ final File gradleProperties = directory.childFile('gradle.properties');
+ if (!gradleProperties.existsSync()) {
+ throwToolExit(
+ 'Expected file ${gradleProperties.path}. '
+ 'Please ensure that this file exists or that ${gradleProperties.dirname} can be read.'
+ );
+ }
+ final String propertiesContent = gradleProperties.readAsStringSync();
+ if (propertiesContent.contains('android.enableR8')) {
+ globals.printTrace('gradle.properties already sets `android.enableR8`');
+ return;
+ }
+ globals.printTrace('set `android.enableR8=true` in gradle.properties');
+ try {
+ if (propertiesContent.isNotEmpty && !propertiesContent.endsWith('\n')) {
+ // Add a new line if the file doesn't end with a new line.
+ gradleProperties.writeAsStringSync('\n', mode: FileMode.append);
+ }
+ gradleProperties.writeAsStringSync('android.enableR8=true\n', mode: FileMode.append);
+ } on FileSystemException {
+ throwToolExit(
+ 'The tool failed to add `android.enableR8=true` to ${gradleProperties.path}. '
+ 'Please update the file manually and try this command again.'
+ );
+ }
+ }
+
/// Injects the Gradle wrapper files if any of these files don't exist in [directory].
void injectGradleWrapperIfNeeded(Directory directory) {
globals.fsUtils.copyDirectorySync(
@@ -92,7 +126,7 @@
}
}
}
-const String _defaultGradleVersion = '6.7';
+const String _defaultGradleVersion = '5.6.2';
final RegExp _androidPluginRegExp = RegExp(r'com\.android\.tools\.build:gradle:\(\d+\.\d+\.\d+\)');
@@ -191,9 +225,6 @@
if (_isWithinVersionRange(androidPluginVersion, min: '3.4.0', max: '3.5.0')) {
return '5.6.2';
}
- if (_isWithinVersionRange(androidPluginVersion, min: '4.0.0', max: '4.1.0')) {
- return '6.7';
- }
throwToolExit('Unsupported Android Plugin version: $androidPluginVersion.');
return '';
}
diff --git a/packages/flutter_tools/lib/src/build_info.dart b/packages/flutter_tools/lib/src/build_info.dart
index 87ab174..3100f2b 100644
--- a/packages/flutter_tools/lib/src/build_info.dart
+++ b/packages/flutter_tools/lib/src/build_info.dart
@@ -222,6 +222,7 @@
AndroidArch.x86_64,
],
this.splitPerAbi = false,
+ this.shrink = false,
this.fastStart = false,
});
@@ -235,6 +236,9 @@
/// will be produced.
final bool splitPerAbi;
+ /// Whether to enable code shrinking on release mode.
+ final bool shrink;
+
/// The target platforms for the build.
final Iterable<AndroidArch> targetArchs;
diff --git a/packages/flutter_tools/lib/src/commands/build_apk.dart b/packages/flutter_tools/lib/src/commands/build_apk.dart
index 85091a2..a3d1266 100644
--- a/packages/flutter_tools/lib/src/commands/build_apk.dart
+++ b/packages/flutter_tools/lib/src/commands/build_apk.dart
@@ -95,6 +95,7 @@
buildInfo,
splitPerAbi: boolArg('split-per-abi'),
targetArchs: stringsArg('target-platform').map<AndroidArch>(getAndroidArchForName),
+ shrink: boolArg('shrink'),
);
validateBuild(androidBuildInfo);
diff --git a/packages/flutter_tools/lib/src/commands/build_appbundle.dart b/packages/flutter_tools/lib/src/commands/build_appbundle.dart
index 4e2d284..f4ed666 100644
--- a/packages/flutter_tools/lib/src/commands/build_appbundle.dart
+++ b/packages/flutter_tools/lib/src/commands/build_appbundle.dart
@@ -84,6 +84,7 @@
}
final AndroidBuildInfo androidBuildInfo = AndroidBuildInfo(await getBuildInfo(),
targetArchs: stringsArg('target-platform').map<AndroidArch>(getAndroidArchForName),
+ shrink: boolArg('shrink'),
);
validateBuild(androidBuildInfo);
await androidBuilder.buildAab(
diff --git a/packages/flutter_tools/lib/src/runner/flutter_command.dart b/packages/flutter_tools/lib/src/runner/flutter_command.dart
index e2d2e35..635b6f2 100644
--- a/packages/flutter_tools/lib/src/runner/flutter_command.dart
+++ b/packages/flutter_tools/lib/src/runner/flutter_command.dart
@@ -587,10 +587,14 @@
void addShrinkingFlag() {
argParser.addFlag('shrink',
negatable: true,
- hide: true,
- help: 'This flag is deprecated. Code shrinking is always enabled in release builds. '
- 'To learn more, see: https://developer.android.com/studio/build/shrink-code'
- );
+ defaultsTo: true,
+ help: 'Whether to enable code shrinking on release mode. '
+ 'When enabling shrinking, you also benefit from obfuscation, '
+ 'which shortens the names of your app’s classes and members, '
+ 'and optimization, which applies more aggressive strategies to '
+ 'further reduce the size of your app. '
+ 'To learn more, see: https://developer.android.com/studio/build/shrink-code',
+ );
}
void addNullSafetyModeOptions({ @required bool hide }) {
diff --git a/packages/flutter_tools/templates/app/android-java.tmpl/app/build.gradle.tmpl b/packages/flutter_tools/templates/app/android-java.tmpl/app/build.gradle.tmpl
index feb41cd..7a7cea0 100644
--- a/packages/flutter_tools/templates/app/android-java.tmpl/app/build.gradle.tmpl
+++ b/packages/flutter_tools/templates/app/android-java.tmpl/app/build.gradle.tmpl
@@ -25,13 +25,17 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
+
+ lintOptions {
+ disable 'InvalidPackage'
+ }
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "{{androidIdentifier}}"
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
diff --git a/packages/flutter_tools/templates/app/android-java.tmpl/build.gradle b/packages/flutter_tools/templates/app/android-java.tmpl/build.gradle
index c9e3db0..e0d7ae2 100644
--- a/packages/flutter_tools/templates/app/android-java.tmpl/build.gradle
+++ b/packages/flutter_tools/templates/app/android-java.tmpl/build.gradle
@@ -5,7 +5,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
diff --git a/packages/flutter_tools/templates/app/android-kotlin.tmpl/app/build.gradle.tmpl b/packages/flutter_tools/templates/app/android-kotlin.tmpl/app/build.gradle.tmpl
index 9879eb5..84fc9f1 100644
--- a/packages/flutter_tools/templates/app/android-kotlin.tmpl/app/build.gradle.tmpl
+++ b/packages/flutter_tools/templates/app/android-kotlin.tmpl/app/build.gradle.tmpl
@@ -26,17 +26,21 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
+ lintOptions {
+ disable 'InvalidPackage'
+ }
+
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "{{androidIdentifier}}"
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
diff --git a/packages/flutter_tools/templates/app/android-kotlin.tmpl/build.gradle b/packages/flutter_tools/templates/app/android-kotlin.tmpl/build.gradle
index c505a86..3100ad2 100644
--- a/packages/flutter_tools/templates/app/android-kotlin.tmpl/build.gradle
+++ b/packages/flutter_tools/templates/app/android-kotlin.tmpl/build.gradle
@@ -6,7 +6,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
diff --git a/packages/flutter_tools/templates/app/android.tmpl/gradle/wrapper/gradle-wrapper.properties b/packages/flutter_tools/templates/app/android.tmpl/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..296b146 100644
--- a/packages/flutter_tools/templates/app/android.tmpl/gradle/wrapper/gradle-wrapper.properties
+++ b/packages/flutter_tools/templates/app/android.tmpl/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/packages/flutter_tools/templates/module/android/gradle/build.gradle.copy.tmpl b/packages/flutter_tools/templates/module/android/gradle/build.gradle.copy.tmpl
index 2316d6f..9a17202 100644
--- a/packages/flutter_tools/templates/module/android/gradle/build.gradle.copy.tmpl
+++ b/packages/flutter_tools/templates/module/android/gradle/build.gradle.copy.tmpl
@@ -7,7 +7,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
diff --git a/packages/flutter_tools/templates/module/android/host_app_common/app.tmpl/build.gradle.tmpl b/packages/flutter_tools/templates/module/android/host_app_common/app.tmpl/build.gradle.tmpl
index 13f1f82..bcb525b 100644
--- a/packages/flutter_tools/templates/module/android/host_app_common/app.tmpl/build.gradle.tmpl
+++ b/packages/flutter_tools/templates/module/android/host_app_common/app.tmpl/build.gradle.tmpl
@@ -3,7 +3,7 @@
apply plugin: 'com.android.application'
android {
- compileSdkVersion 30
+ compileSdkVersion 29
compileOptions {
sourceCompatibility 1.8
@@ -13,7 +13,7 @@
defaultConfig {
applicationId "{{androidIdentifier}}.host"
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode 1
versionName "1.0"
}
diff --git a/packages/flutter_tools/templates/module/android/library_new_embedding/Flutter.tmpl/build.gradle.tmpl b/packages/flutter_tools/templates/module/android/library_new_embedding/Flutter.tmpl/build.gradle.tmpl
index 7d3e6b3..7608518 100644
--- a/packages/flutter_tools/templates/module/android/library_new_embedding/Flutter.tmpl/build.gradle.tmpl
+++ b/packages/flutter_tools/templates/module/android/library_new_embedding/Flutter.tmpl/build.gradle.tmpl
@@ -30,11 +30,11 @@
version '1.0'
android {
- compileSdkVersion 30
+ compileSdkVersion 29
defaultConfig {
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
diff --git a/packages/flutter_tools/templates/plugin/android-java.tmpl/build.gradle.tmpl b/packages/flutter_tools/templates/plugin/android-java.tmpl/build.gradle.tmpl
index 14c45ed..415716b 100644
--- a/packages/flutter_tools/templates/plugin/android-java.tmpl/build.gradle.tmpl
+++ b/packages/flutter_tools/templates/plugin/android-java.tmpl/build.gradle.tmpl
@@ -8,7 +8,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
}
}
@@ -22,9 +22,12 @@
apply plugin: 'com.android.library'
android {
- compileSdkVersion 30
+ compileSdkVersion 29
defaultConfig {
minSdkVersion 16
}
+ lintOptions {
+ disable 'InvalidPackage'
+ }
}
diff --git a/packages/flutter_tools/templates/plugin/android-kotlin.tmpl/build.gradle.tmpl b/packages/flutter_tools/templates/plugin/android-kotlin.tmpl/build.gradle.tmpl
index 5e5da7e..35b015d 100644
--- a/packages/flutter_tools/templates/plugin/android-kotlin.tmpl/build.gradle.tmpl
+++ b/packages/flutter_tools/templates/plugin/android-kotlin.tmpl/build.gradle.tmpl
@@ -9,7 +9,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.5.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
@@ -25,7 +25,7 @@
apply plugin: 'kotlin-android'
android {
- compileSdkVersion 30
+ compileSdkVersion 29
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
@@ -33,6 +33,9 @@
defaultConfig {
minSdkVersion 16
}
+ lintOptions {
+ disable 'InvalidPackage'
+ }
}
dependencies {
diff --git a/packages/flutter_tools/templates/plugin/android.tmpl/gradle/wrapper/gradle-wrapper.properties b/packages/flutter_tools/templates/plugin/android.tmpl/gradle/wrapper/gradle-wrapper.properties
index 3c9d085..01a286e 100644
--- a/packages/flutter_tools/templates/plugin/android.tmpl/gradle/wrapper/gradle-wrapper.properties
+++ b/packages/flutter_tools/templates/plugin/android.tmpl/gradle/wrapper/gradle-wrapper.properties
@@ -2,4 +2,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
diff --git a/packages/flutter_tools/test/commands.shard/permeable/build_apk_test.dart b/packages/flutter_tools/test/commands.shard/permeable/build_apk_test.dart
index 2750d67..e449704 100644
--- a/packages/flutter_tools/test/commands.shard/permeable/build_apk_test.dart
+++ b/packages/flutter_tools/test/commands.shard/permeable/build_apk_test.dart
@@ -237,6 +237,7 @@
'-Ptarget-platform=android-arm,android-arm64,android-x64',
'-Ptarget=${globals.fs.path.join(tempDir.path, 'flutter_project', 'lib', 'main.dart')}',
'-Ptrack-widget-creation=true',
+ '-Pshrink=true',
'-Ptree-shake-icons=true',
'assembleRelease',
],
@@ -265,6 +266,7 @@
'-Ptarget-platform=android-arm,android-arm64,android-x64',
'-Ptarget=${globals.fs.path.join(tempDir.path, 'flutter_project', 'lib', 'main.dart')}',
'-Ptrack-widget-creation=true',
+ '-Pshrink=true',
'-Psplit-debug-info=${tempDir.path}',
'-Ptree-shake-icons=true',
'assembleRelease',
@@ -298,6 +300,7 @@
'-Ptarget=${globals.fs.path.join(tempDir.path, 'flutter_project', 'lib', 'main.dart')}',
'-Ptrack-widget-creation=true',
'-Pextra-front-end-options=foo,bar',
+ '-Pshrink=true',
'-Ptree-shake-icons=true',
'assembleRelease',
],
@@ -353,6 +356,7 @@
'-Ptarget-platform=android-arm,android-arm64,android-x64',
'-Ptarget=${globals.fs.path.join(tempDir.path, 'flutter_project', 'lib', 'main.dart')}',
'-Ptrack-widget-creation=true',
+ '-Pshrink=true',
'-Ptree-shake-icons=true',
'assembleRelease',
],
@@ -420,6 +424,7 @@
'-Ptarget-platform=android-arm,android-arm64,android-x64',
'-Ptarget=${globals.fs.path.join(tempDir.path, 'flutter_project', 'lib', 'main.dart')}',
'-Ptrack-widget-creation=true',
+ '-Pshrink=true',
'-Ptree-shake-icons=true',
'assembleRelease',
],
@@ -476,6 +481,7 @@
'-Ptarget-platform=android-arm,android-arm64,android-x64',
'-Ptarget=${globals.fs.path.join(tempDir.path, 'flutter_project', 'lib', 'main.dart')}',
'-Ptrack-widget-creation=true',
+ '-Pshrink=true',
'-Ptree-shake-icons=true',
'assembleRelease',
],
diff --git a/packages/flutter_tools/test/commands.shard/permeable/build_appbundle_test.dart b/packages/flutter_tools/test/commands.shard/permeable/build_appbundle_test.dart
index e11dd8d..2376dfb 100644
--- a/packages/flutter_tools/test/commands.shard/permeable/build_appbundle_test.dart
+++ b/packages/flutter_tools/test/commands.shard/permeable/build_appbundle_test.dart
@@ -207,6 +207,131 @@
});
});
+ testUsingContext('shrinking is enabled by default on release mode', () async {
+ final String projectPath = await createProject(
+ tempDir,
+ arguments: <String>['--no-pub', '--template=app'],
+ );
+
+ await expectLater(() async {
+ await runBuildAppBundleCommand(projectPath);
+ }, throwsToolExit(message: 'Gradle task bundleRelease failed with exit code 1'));
+
+ verify(mockProcessManager.start(
+ <String>[
+ gradlew,
+ '-q',
+ '-Ptarget-platform=android-arm,android-arm64,android-x64',
+ '-Ptarget=${globals.fs.path.join(tempDir.path, 'flutter_project', 'lib', 'main.dart')}',
+ '-Ptrack-widget-creation=true',
+ '-Pshrink=true',
+ '-Ptree-shake-icons=true',
+ 'bundleRelease',
+ ],
+ workingDirectory: anyNamed('workingDirectory'),
+ environment: anyNamed('environment'),
+ )).called(1);
+ },
+ overrides: <Type, Generator>{
+ AndroidSdk: () => mockAndroidSdk,
+ FlutterProjectFactory: () => FakeFlutterProjectFactory(tempDir),
+ ProcessManager: () => mockProcessManager,
+ });
+
+ testUsingContext('shrinking is disabled when --no-shrink is passed', () async {
+ final String projectPath = await createProject(
+ tempDir,
+ arguments: <String>['--no-pub', '--template=app'],
+ );
+
+ await expectLater(() async {
+ await runBuildAppBundleCommand(
+ projectPath,
+ arguments: <String>['--no-shrink'],
+ );
+ }, throwsToolExit(message: 'Gradle task bundleRelease failed with exit code 1'));
+
+ verify(mockProcessManager.start(
+ <String>[
+ gradlew,
+ '-q',
+ '-Ptarget-platform=android-arm,android-arm64,android-x64',
+ '-Ptarget=${globals.fs.path.join(tempDir.path, 'flutter_project', 'lib', 'main.dart')}',
+ '-Ptrack-widget-creation=true',
+ '-Ptree-shake-icons=true',
+ 'bundleRelease',
+ ],
+ workingDirectory: anyNamed('workingDirectory'),
+ environment: anyNamed('environment'),
+ )).called(1);
+ },
+ overrides: <Type, Generator>{
+ AndroidSdk: () => mockAndroidSdk,
+ FlutterProjectFactory: () => FakeFlutterProjectFactory(tempDir),
+ ProcessManager: () => mockProcessManager,
+ });
+
+ testUsingContext('guides the user when the shrinker fails', () async {
+ final String projectPath = await createProject(tempDir,
+ arguments: <String>['--no-pub', '--template=app']);
+ when(mockProcessManager.start(
+ <String>[
+ gradlew,
+ '-q',
+ '-Ptarget-platform=android-arm,android-arm64,android-x64',
+ '-Ptarget=${globals.fs.path.join(tempDir.path, 'flutter_project', 'lib', 'main.dart')}',
+ '-Ptrack-widget-creation=true',
+ '-Pshrink=true',
+ '-Ptree-shake-icons=true',
+ 'bundleRelease',
+ ],
+ workingDirectory: anyNamed('workingDirectory'),
+ environment: anyNamed('environment'),
+ )).thenAnswer((_) {
+ const String r8StdoutWarning =
+ "Execution failed for task ':app:transformClassesAndResourcesWithR8ForStageInternal'.\n"
+ '> com.android.tools.r8.CompilationFailedException: Compilation failed to complete';
+ return Future<Process>.value(
+ createMockProcess(
+ exitCode: 1,
+ stdout: r8StdoutWarning,
+ ),
+ );
+ });
+
+ await expectLater(() async {
+ await runBuildAppBundleCommand(
+ projectPath,
+ );
+ }, throwsToolExit(message: 'Gradle task bundleRelease failed with exit code 1'));
+
+ expect(
+ testLogger.statusText,
+ containsIgnoringWhitespace('The shrinker may have failed to optimize the Java bytecode.'),
+ );
+ expect(
+ testLogger.statusText,
+ containsIgnoringWhitespace('To disable the shrinker, pass the `--no-shrink` flag to this command.'),
+ );
+ expect(
+ testLogger.statusText,
+ containsIgnoringWhitespace('To learn more, see: https://developer.android.com/studio/build/shrink-code'),
+ );
+
+ verify(mockUsage.sendEvent(
+ 'build',
+ 'appbundle',
+ label: 'gradle-r8-failure',
+ parameters: anyNamed('parameters'),
+ )).called(1);
+ },
+ overrides: <Type, Generator>{
+ AndroidSdk: () => mockAndroidSdk,
+ FlutterProjectFactory: () => FakeFlutterProjectFactory(tempDir),
+ ProcessManager: () => mockProcessManager,
+ Usage: () => mockUsage,
+ });
+
testUsingContext("reports when the app isn't using AndroidX", () async {
final String projectPath = await createProject(tempDir,
arguments: <String>['--no-pub', '--template=app']);
@@ -224,6 +349,7 @@
'-Ptarget-platform=android-arm,android-arm64,android-x64',
'-Ptarget=${globals.fs.path.join(tempDir.path, 'flutter_project', 'lib', 'main.dart')}',
'-Ptrack-widget-creation=true',
+ '-Pshrink=true',
'assembleRelease',
],
workingDirectory: anyNamed('workingDirectory'),
@@ -279,6 +405,7 @@
'-Ptarget-platform=android-arm,android-arm64,android-x64',
'-Ptarget=${globals.fs.path.join(tempDir.path, 'flutter_project', 'lib', 'main.dart')}',
'-Ptrack-widget-creation=true',
+ '-Pshrink=true',
'assembleRelease',
],
workingDirectory: anyNamed('workingDirectory'),
diff --git a/packages/flutter_tools/test/commands.shard/permeable/create_test.dart b/packages/flutter_tools/test/commands.shard/permeable/create_test.dart
index d7bcda8..6dd75a0 100755
--- a/packages/flutter_tools/test/commands.shard/permeable/create_test.dart
+++ b/packages/flutter_tools/test/commands.shard/permeable/create_test.dart
@@ -2115,7 +2115,7 @@
expect(env['flutter'].allows(Version(1, 19, 0)), false);
});
- testUsingContext('default app uses Android SDK 30', () async {
+ testUsingContext('default app uses Android sdk 29', () async {
Cache.flutterRoot = '../..';
when(mockFlutterVersion.frameworkRevision).thenReturn(frameworkRevision);
when(mockFlutterVersion.channel).thenReturn(frameworkChannel);
@@ -2129,8 +2129,8 @@
final String buildContent = await globals.fs.file(projectDir.path + '/android/app/build.gradle').readAsString();
- expect(buildContent.contains('compileSdkVersion 30'), true);
- expect(buildContent.contains('targetSdkVersion 30'), true);
+ expect(buildContent.contains('compileSdkVersion 29'), true);
+ expect(buildContent.contains('targetSdkVersion 29'), true);
});
testUsingContext('Linux plugins handle partially camel-case project names correctly', () async {
diff --git a/packages/flutter_tools/test/general.shard/android/gradle_errors_test.dart b/packages/flutter_tools/test/general.shard/android/gradle_errors_test.dart
index b7e4084..07e7a3d 100644
--- a/packages/flutter_tools/test/general.shard/android/gradle_errors_test.dart
+++ b/packages/flutter_tools/test/general.shard/android/gradle_errors_test.dart
@@ -441,7 +441,7 @@
expect(testLogger.statusText,
contains(
- 'The build failed likely due to AndroidX incompatibilities in a plugin. '
+ 'The built failed likely due to AndroidX incompatibilities in a plugin. '
'The tool is about to try using Jetfier to solve the incompatibility.'
)
);
diff --git a/packages/flutter_tools/test/general.shard/android/gradle_test.dart b/packages/flutter_tools/test/general.shard/android/gradle_test.dart
index 44b00de..19f38b1 100644
--- a/packages/flutter_tools/test/general.shard/android/gradle_test.dart
+++ b/packages/flutter_tools/test/general.shard/android/gradle_test.dart
@@ -316,7 +316,7 @@
any,
label: 'gradle-expected-file-not-found',
parameters: const <String, String> {
- 'cd37': 'androidGradlePluginVersion: 6.7, fileExtension: .aab',
+ 'cd37': 'androidGradlePluginVersion: 5.6.2, fileExtension: .aab',
},
),
).called(1);
@@ -771,9 +771,6 @@
expect(getGradleVersionFor('3.4.0'), '5.6.2');
expect(getGradleVersionFor('3.5.0'), '5.6.2');
-
- expect(getGradleVersionFor('4.0.0'), '6.7');
- expect(getGradleVersionFor('4.1.0'), '6.7');
});
testWithoutContext('throws on unsupported versions', () {
diff --git a/packages/flutter_tools/test/general.shard/android/gradle_utils_test.dart b/packages/flutter_tools/test/general.shard/android/gradle_utils_test.dart
index 54a47ec..cd850b1 100644
--- a/packages/flutter_tools/test/general.shard/android/gradle_utils_test.dart
+++ b/packages/flutter_tools/test/general.shard/android/gradle_utils_test.dart
@@ -70,7 +70,7 @@
'distributionPath=wrapper/dists\n'
'zipStoreBase=GRADLE_USER_HOME\n'
'zipStorePath=wrapper/dists\n'
- 'distributionUrl=https\\://services.gradle.org/distributions/gradle-6.7-all.zip\n');
+ 'distributionUrl=https\\://services.gradle.org/distributions/gradle-5.6.2-all.zip\n');
}, overrides: <Type, Generator>{
Cache: () => Cache.test(rootOverride: tempDir, fileSystem: memoryFileSystem),
FileSystem: () => memoryFileSystem,
@@ -111,7 +111,7 @@
'distributionPath=wrapper/dists\n'
'zipStoreBase=GRADLE_USER_HOME\n'
'zipStorePath=wrapper/dists\n'
- 'distributionUrl=https\\://services.gradle.org/distributions/gradle-6.7-all.zip\n');
+ 'distributionUrl=https\\://services.gradle.org/distributions/gradle-5.6.2-all.zip\n');
}, overrides: <Type, Generator>{
Cache: () => Cache.test(rootOverride: tempDir, fileSystem: memoryFileSystem),
FileSystem: () => memoryFileSystem,
@@ -119,6 +119,108 @@
});
});
+
+ group('migrateToR8', () {
+ MemoryFileSystem memoryFileSystem;
+
+ setUp(() {
+ memoryFileSystem = MemoryFileSystem.test();
+ });
+
+ testUsingContext("throws ToolExit if gradle.properties doesn't exist", () {
+ final Directory sampleAppAndroid = globals.fs.directory('/sample-app/android');
+ sampleAppAndroid.createSync(recursive: true);
+
+ expect(() {
+ gradleUtils.migrateToR8(sampleAppAndroid);
+ }, throwsToolExit(message: 'Expected file ${sampleAppAndroid.path}'));
+
+ }, overrides: <Type, Generator>{
+ FileSystem: () => memoryFileSystem,
+ ProcessManager: () => FakeProcessManager.any(),
+ });
+
+ testUsingContext('throws ToolExit if it cannot write gradle.properties', () {
+ final MockDirectory sampleAppAndroid = MockDirectory();
+ final MockFile gradleProperties = MockFile();
+
+ when(gradleProperties.path).thenReturn('foo/gradle.properties');
+ when(gradleProperties.existsSync()).thenReturn(true);
+ when(gradleProperties.readAsStringSync()).thenReturn('');
+ when(gradleProperties.writeAsStringSync('android.enableR8=true\n', mode: FileMode.append))
+ .thenThrow(const FileSystemException());
+
+ when(sampleAppAndroid.childFile('gradle.properties'))
+ .thenReturn(gradleProperties);
+
+ expect(() {
+ gradleUtils.migrateToR8(sampleAppAndroid);
+ },
+ throwsToolExit(message:
+ 'The tool failed to add `android.enableR8=true` to foo/gradle.properties. '
+ 'Please update the file manually and try this command again.'));
+ });
+
+ testUsingContext('does not update gradle.properties if it already uses R8', () {
+ final Directory sampleAppAndroid = globals.fs.directory('/sample-app/android');
+ sampleAppAndroid.createSync(recursive: true);
+ sampleAppAndroid.childFile('gradle.properties')
+ .writeAsStringSync('android.enableR8=true');
+
+ gradleUtils.migrateToR8(sampleAppAndroid);
+
+ expect(testLogger.traceText,
+ contains('gradle.properties already sets `android.enableR8`'));
+ expect(sampleAppAndroid.childFile('gradle.properties').readAsStringSync(),
+ equals('android.enableR8=true'));
+ }, overrides: <Type, Generator>{
+ FileSystem: () => memoryFileSystem,
+ ProcessManager: () => FakeProcessManager.any(),
+ });
+
+ testUsingContext('sets android.enableR8=true', () {
+ final Directory sampleAppAndroid = globals.fs.directory('/sample-app/android');
+ sampleAppAndroid.createSync(recursive: true);
+ sampleAppAndroid.childFile('gradle.properties')
+ .writeAsStringSync('org.gradle.jvmargs=-Xmx1536M\n');
+
+ gradleUtils.migrateToR8(sampleAppAndroid);
+
+ expect(testLogger.traceText, contains('set `android.enableR8=true` in gradle.properties'));
+ expect(
+ sampleAppAndroid.childFile('gradle.properties').readAsStringSync(),
+ equals(
+ 'org.gradle.jvmargs=-Xmx1536M\n'
+ 'android.enableR8=true\n'
+ ),
+ );
+ }, overrides: <Type, Generator>{
+ FileSystem: () => memoryFileSystem,
+ ProcessManager: () => FakeProcessManager.any(),
+ });
+
+ testUsingContext('appends android.enableR8=true to the new line', () {
+ final Directory sampleAppAndroid = globals.fs.directory('/sample-app/android');
+ sampleAppAndroid.createSync(recursive: true);
+ sampleAppAndroid.childFile('gradle.properties')
+ .writeAsStringSync('org.gradle.jvmargs=-Xmx1536M');
+
+ gradleUtils.migrateToR8(sampleAppAndroid);
+
+ expect(testLogger.traceText, contains('set `android.enableR8=true` in gradle.properties'));
+ expect(
+ sampleAppAndroid.childFile('gradle.properties').readAsStringSync(),
+ equals(
+ 'org.gradle.jvmargs=-Xmx1536M\n'
+ 'android.enableR8=true\n'
+ ),
+ );
+ }, overrides: <Type, Generator>{
+ FileSystem: () => memoryFileSystem,
+ ProcessManager: () => FakeProcessManager.any()
+ });
+ });
+
group('GradleUtils.getExecutable', () {
final String gradlewFilename = globals.platform.isWindows ? 'gradlew.bat' : 'gradlew';
@@ -139,6 +241,7 @@
androidDirectory.childFile('gradle.properties').createSync();
when(gradleUtils.injectGradleWrapperIfNeeded(any)).thenReturn(null);
+ when(gradleUtils.migrateToR8(any)).thenReturn(null);
expect(
GradleUtils().getExecutable(FlutterProject.current()),
@@ -170,6 +273,7 @@
when(androidProject.hostAppGradleRoot).thenReturn(androidDirectory);
when(gradleUtils.injectGradleWrapperIfNeeded(any)).thenReturn(null);
+ when(gradleUtils.migrateToR8(any)).thenReturn(null);
GradleUtils().getExecutable(flutterProject);
@@ -200,6 +304,7 @@
when(androidProject.hostAppGradleRoot).thenReturn(androidDirectory);
when(gradleUtils.injectGradleWrapperIfNeeded(any)).thenReturn(null);
+ when(gradleUtils.migrateToR8(any)).thenReturn(null);
GradleUtils().getExecutable(flutterProject);
@@ -230,6 +335,7 @@
when(androidProject.hostAppGradleRoot).thenReturn(androidDirectory);
when(gradleUtils.injectGradleWrapperIfNeeded(any)).thenReturn(null);
+ when(gradleUtils.migrateToR8(any)).thenReturn(null);
GradleUtils().getExecutable(flutterProject);
diff --git a/packages/flutter_tools/test/general.shard/project_test.dart b/packages/flutter_tools/test/general.shard/project_test.dart
index d8d83dc..ae223e1 100644
--- a/packages/flutter_tools/test/general.shard/project_test.dart
+++ b/packages/flutter_tools/test/general.shard/project_test.dart
@@ -919,7 +919,7 @@
return '''
apply plugin: 'com.android.application'
android {
- compileSdkVersion 30
+ compileSdkVersion 29
defaultConfig {
applicationId '$id'
@@ -936,7 +936,7 @@
apply plugin: 'com.android.library'
android {
- compileSdkVersion 30
+ compileSdkVersion 29
}
''';
}
diff --git a/packages/flutter_tools/test/integration.shard/deprecated_gradle_settings_test.dart b/packages/flutter_tools/test/integration.shard/deprecated_gradle_settings_test.dart
index 24ed02b..e5c3064 100644
--- a/packages/flutter_tools/test/integration.shard/deprecated_gradle_settings_test.dart
+++ b/packages/flutter_tools/test/integration.shard/deprecated_gradle_settings_test.dart
@@ -22,6 +22,7 @@
'apk',
'--debug',
'--target-platform', 'android-arm',
+ '--no-shrink',
'--verbose',
], workingDirectory: woringDirectory);
print(result.stdout);
diff --git a/packages/integration_test/android/build.gradle b/packages/integration_test/android/build.gradle
index a0a6506..2318d33 100644
--- a/packages/integration_test/android/build.gradle
+++ b/packages/integration_test/android/build.gradle
@@ -12,7 +12,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.6.3'
}
}
@@ -26,13 +26,15 @@
apply plugin: 'com.android.library'
android {
- compileSdkVersion 30
+ compileSdkVersion 29
defaultConfig {
minSdkVersion 16
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
-
+ lintOptions {
+ disable 'InvalidPackage'
+ }
dependencies {
api 'junit:junit:4.12'
diff --git a/packages/integration_test/example/android/app/build.gradle b/packages/integration_test/example/android/app/build.gradle
index eadb1b5..bd9c7c4 100644
--- a/packages/integration_test/example/android/app/build.gradle
+++ b/packages/integration_test/example/android/app/build.gradle
@@ -29,13 +29,17 @@
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
- compileSdkVersion 30
+ compileSdkVersion 29
+
+ lintOptions {
+ disable 'InvalidPackage'
+ }
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.integration_test_example"
minSdkVersion 16
- targetSdkVersion 30
+ targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
diff --git a/packages/integration_test/example/android/build.gradle b/packages/integration_test/example/android/build.gradle
index c2c4160..3605b5c 100644
--- a/packages/integration_test/example/android/build.gradle
+++ b/packages/integration_test/example/android/build.gradle
@@ -9,7 +9,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:3.6.3'
}
}
diff --git a/packages/integration_test/example/android/gradle/wrapper/gradle-wrapper.properties b/packages/integration_test/example/android/gradle/wrapper/gradle-wrapper.properties
index bc6a58a..bc24dcf 100644
--- a/packages/integration_test/example/android/gradle/wrapper/gradle-wrapper.properties
+++ b/packages/integration_test/example/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip