From d74fdb48078644f0259e8ee47370e68ba59679ca Mon Sep 17 00:00:00 2001 From: Neo Date: Sun, 4 Jul 2021 12:40:29 +0800 Subject: [PATCH 1/5] upgrade gradle version --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 179e1b2..a32a9af 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip From 6a490327c082fc357e6eaf45270b88ac0db99d24 Mon Sep 17 00:00:00 2001 From: Neo Date: Sun, 4 Jul 2021 12:44:32 +0800 Subject: [PATCH 2/5] upgrade android buildTools Version --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 8a5e78f..8f5af96 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,7 +4,7 @@ apply plugin: 'kotlin-android-extensions' android { compileSdkVersion 30 - buildToolsVersion "29.0.2" + buildToolsVersion "30.0.3" defaultConfig { applicationId "com.example.jetpackcomposeplayground" From 7676e8a5003a5218fb772c8ddc7498a7431cf6bc Mon Sep 17 00:00:00 2001 From: Neo Date: Sun, 4 Jul 2021 12:45:40 +0800 Subject: [PATCH 3/5] kotlinOptions the same tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach --- app/build.gradle | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 8f5af96..dd5acb0 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -26,9 +26,7 @@ android { sourceCompatibility = 1.8 targetCompatibility = 1.8 } - kotlinOptions { - jvmTarget = '1.8' - } + buildFeatures { compose true } From 37046d8ea40e72fa5adabffd957d53814caa3fce Mon Sep 17 00:00:00 2001 From: Neo Date: Sun, 4 Jul 2021 12:52:38 +0800 Subject: [PATCH 4/5] upgrade androidx.appcompat:appcompat version to 1.3.0 (support compose) --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 097b3a8..cbec123 100644 --- a/build.gradle +++ b/build.gradle @@ -20,7 +20,7 @@ buildscript { 'ktxSupport': '2.2.0', 'lifecycle':'2.2.0', 'picasso': '2.71828', - 'supportLibrary': '1.1.0', + 'supportLibrary': '1.3.0', 'testRunner': '1.2.0', ] ext.deps = [ From f78514448b05b30d2272147e964819eab0f1bee8 Mon Sep 17 00:00:00 2001 From: Neo Date: Sun, 4 Jul 2021 13:00:34 +0800 Subject: [PATCH 5/5] modify gradle let AS 4.0.X~4.2.X stable version support compose (no preview function) --- app/build.gradle | 34 ++++++++++++++++++++++++++++++++-- build.gradle | 2 +- 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index dd5acb0..0e02eed 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,8 +1,33 @@ apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' +def android_builder_version = "4.0.1" +ext { + android_builder_main_version = Integer.parseInt(android_builder_version.split("\\.")[0]) + android_builder_mid_version = Integer.parseInt(android_builder_version.split("\\.")[1]) +} android { + this.rootProject.buildscript.configurations.classpath + .resolvedConfiguration + .firstLevelModuleDependencies. + each { + def name = it.name + if (name.contains('com.android.tools.build:gradle')) { + def moduleVersion = it.moduleVersion + if (moduleVersion.contains("-")) { + def alphaversionArray = moduleVersion.split("-")[0] + def versionArray = alphaversionArray.toString().split("\\.") + ext.android_builder_main_version = Integer.parseInt(versionArray[0]) + ext.android_builder_mid_version = Integer.parseInt(versionArray[1]) + } else { + version = moduleVersion + android_builder_version = moduleVersion + ext.android_builder_main_version = Integer.parseInt(android_builder_version.split("\\.")[0]) + ext.android_builder_mid_version = Integer.parseInt(android_builder_version.split("\\.")[1]) + } + } + } compileSdkVersion 30 buildToolsVersion "30.0.3" @@ -28,13 +53,15 @@ android { } buildFeatures { - compose true + if (android_builder_main_version >= 7 || (android_builder_main_version > 4 && android_builder_mid_version > 1)) { + compose true + } } composeOptions { kotlinCompilerVersion "${versions.kotlinCompilerVersion}" kotlinCompilerExtensionVersion "${versions.compose}" - } + // Added to avoid this error - // Execution failed for task ':app:mergeDebugAndroidTestJavaResource'. // > A failure occurred while executing com.android.build.gradle.internal.tasks.MergeJavaResWorkAction @@ -74,6 +101,9 @@ dependencies { implementation deps.coroutine.core // Compose + if (android_builder_main_version < 7) { + add("kotlinCompilerPluginClasspath", "androidx.compose.compiler:compiler:${versions.compose}") + } implementation deps.compose.activityCompose implementation deps.compose.composeRuntime implementation deps.compose.constraintLayout diff --git a/build.gradle b/build.gradle index cbec123..5a051f8 100644 --- a/build.gradle +++ b/build.gradle @@ -11,7 +11,7 @@ buildscript { 'coroutine': '1.3.7', 'espresso': '3.2.0', 'glide': '4.10.0', - 'gradle': '7.0.0-beta03', + 'gradle': '4.1.2', 'junit' : '4.12', 'junitImplementation' : '1.1.1', 'kotlin': '1.5.10',