From 92f11c5a6bc60d58ab2f3a38bfe10d5d2ce41c0d Mon Sep 17 00:00:00 2001 From: Neo Date: Thu, 13 May 2021 14:02:59 +0800 Subject: [PATCH 1/7] upgrade gradle version for Android Studio version 4.2.X newer --- 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 8fda525..8910e26 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-6.7-bin.zip +distributionUrl=https://services.gradle.org/distributions/gradle-7.0-bin.zip From 49dfc3511323542a0eb62624e2db950046b6883a Mon Sep 17 00:00:00 2001 From: Neo Date: Thu, 13 May 2021 14:15:31 +0800 Subject: [PATCH 2/7] upgrade kotlin version for support beta/stable compose version --- build.gradle | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 3bbc78b..08c6586 100644 --- a/build.gradle +++ b/build.gradle @@ -2,6 +2,8 @@ buildscript { ext.versions = [ + + 'kotlin': '1.4.32', 'cardView': '1.0.0', 'compose': '1.0.0-alpha10', 'constraintLayout' : '1.1.3', @@ -11,7 +13,7 @@ buildscript { 'gradle': '4.2.0-alpha15', 'junit' : '4.12', 'junitImplementation' : '1.1.1', - 'kotlin': '1.4.21', + 'kotlinCompilerVersion': '1.4.21', 'ktx': '1.1.0', 'ktxSupport': '2.2.0', From 028a3e64eaa9be4969af41ce4a480028b6ebd430 Mon Sep 17 00:00:00 2001 From: Neo Date: Thu, 13 May 2021 14:18:38 +0800 Subject: [PATCH 3/7] downgrade android tools build gradle version & modify build gradle config let low version AS can build & run compose (can not preview compose UI) --- app/build.gradle | 36 ++++++++++++++++++++++++++++++++++-- build.gradle | 4 ++-- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index a493a5f..796aa48 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,8 +1,35 @@ 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 versionArray = moduleVersion.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 "29.0.2" @@ -29,8 +56,10 @@ android { kotlinOptions { jvmTarget = '1.8' } - buildFeatures { - compose true + if (ext.android_builder_main_version >= 7 || (ext.android_builder_main_version > 4 && ext.android_builder_mid_version > 1)) { + buildFeatures { + compose true + } } composeOptions { kotlinCompilerVersion "${versions.kotlinCompilerVersion}" @@ -55,6 +84,9 @@ tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach { } dependencies { + if (android_builder_main_version < 7) { + add("kotlinCompilerPluginClasspath", "androidx.compose.compiler:compiler:1.0.0-beta05") + } implementation fileTree(dir: 'libs', include: ['*.jar']) // Kotlin implementation deps.kotlinStdLib diff --git a/build.gradle b/build.gradle index 08c6586..e6bfd86 100644 --- a/build.gradle +++ b/build.gradle @@ -2,7 +2,7 @@ buildscript { ext.versions = [ - + 'gradle': '4.0.2', 'kotlin': '1.4.32', 'cardView': '1.0.0', 'compose': '1.0.0-alpha10', @@ -10,7 +10,7 @@ buildscript { 'coroutine': '1.3.7', 'espresso': '3.2.0', 'glide': '4.10.0', - 'gradle': '4.2.0-alpha15', + 'junit' : '4.12', 'junitImplementation' : '1.1.1', From 3e45de9971cbf2ac1e0174d5626adf3ca4afc794 Mon Sep 17 00:00:00 2001 From: Neo Date: Thu, 13 May 2021 14:21:18 +0800 Subject: [PATCH 4/7] upgrade compose library version from alpha to beta version --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index e6bfd86..2c355fd 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { 'gradle': '4.0.2', 'kotlin': '1.4.32', 'cardView': '1.0.0', - 'compose': '1.0.0-alpha10', + 'compose': '1.0.0-beta05', 'constraintLayout' : '1.1.3', 'coroutine': '1.3.7', 'espresso': '3.2.0', From 36a293019df3a666cb6a0bd3a61289c05c991f19 Mon Sep 17 00:00:00 2001 From: Neo Date: Thu, 13 May 2021 14:23:29 +0800 Subject: [PATCH 5/7] upgrade kotlinCompilerVersion version --- build.gradle | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 2c355fd..a161a28 100644 --- a/build.gradle +++ b/build.gradle @@ -4,6 +4,7 @@ buildscript { ext.versions = [ 'gradle': '4.0.2', 'kotlin': '1.4.32', + 'kotlinCompilerVersion': '1.4.32', 'cardView': '1.0.0', 'compose': '1.0.0-beta05', 'constraintLayout' : '1.1.3', @@ -14,7 +15,7 @@ buildscript { 'junit' : '4.12', 'junitImplementation' : '1.1.1', - 'kotlinCompilerVersion': '1.4.21', + 'ktx': '1.1.0', 'ktxSupport': '2.2.0', 'lifecycle':'2.2.0', From 40e2b7e4aab49dc73a955ecba11da162a488afdf Mon Sep 17 00:00:00 2001 From: Neo Date: Thu, 13 May 2021 14:27:10 +0800 Subject: [PATCH 6/7] upgrade androidx.appcompat version to beta/stable support compose --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index a161a28..3048795 100644 --- a/build.gradle +++ b/build.gradle @@ -49,7 +49,7 @@ buildscript { 'glideCompiler': "com.github.bumptech.glide:compiler:${versions.glide}" ], 'support': [ - 'appCompat': "androidx.appcompat:appcompat:${versions.supportLibrary}", + 'appCompat': "androidx.appcompat:appcompat:1.3.0-beta01", 'ktx': "androidx.core:core-ktx:${versions.supportLibrary}", 'ktxLiveData': "androidx.lifecycle:lifecycle-livedata-ktx:${versions.ktxSupport}", 'ktxViewModel': "androidx.lifecycle:lifecycle-viewmodel-ktx:${versions.ktxSupport}", From 0b5e823f2982854b3755e0c639dc23c3b23ced5d Mon Sep 17 00:00:00 2001 From: Neo Date: Thu, 13 May 2021 14:32:52 +0800 Subject: [PATCH 7/7] remove savedInstanceState <--beta remove --- app/build.gradle | 1 - build.gradle | 1 - 2 files changed, 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 796aa48..53f16ca 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -115,7 +115,6 @@ dependencies { implementation deps.compose.layout implementation deps.compose.material implementation deps.compose.materialRipple - implementation deps.compose.savedInstanceState implementation deps.compose.uiLiveData androidTestImplementation deps.compose.uiTest diff --git a/build.gradle b/build.gradle index 3048795..dc00115 100644 --- a/build.gradle +++ b/build.gradle @@ -34,7 +34,6 @@ buildscript { 'layout': "androidx.compose.foundation:foundation-layout:${versions.compose}", 'material': "androidx.compose.material:material:${versions.compose}", 'materialRipple': "androidx.compose.material:material-ripple:${versions.compose}", - 'savedInstanceState': "androidx.compose.runtime:runtime-saved-instance-state:${versions.compose}", 'uiTest': "androidx.compose.ui:ui-test-junit4:${versions.compose}", 'uiLiveData': "androidx.compose.runtime:runtime-livedata:${versions.compose}" ],