I am trying to upgrade to compose compiler 1.3.2
by upgrading to kotlin 1.7.20
but i keep getting error saying Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
I am using android studio dolphin
If i revert my compose compiler to 1.2.0
with kotlin 1.7.0
then it works fine.
Root gradle file.
buildscript {
ext {
compose_version = '1.3.2'
}
dependencies {
classpath "com.google.dagger:hilt-android-gradle-plugin:2.42"
}
}// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
id 'com.android.application' version '7.3.0' apply false
id 'com.android.library' version '7.3.0' apply false
id 'org.jetbrains.kotlin.android' version '1.7.20' apply false
}
task clean(type: Delete) {
delete rootProject.buildDir
}
App level gradle file
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
id 'dagger.hilt.android.plugin'
id 'kotlin-kapt'
}
android {
compileSdk 33
defaultConfig {
applicationId "com.affinidi.cealcompose"
minSdk 23
targetSdk 33
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
useSupportLibrary true
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = '11'
}
buildFeatures {
compose true
}
composeOptions {
kotlinCompilerExtensionVersion compose_version
}
packagingOptions {
resources {
excludes = '/META-INF/{AL2.0,LGPL2.1}'
}
}
namespace 'com.affinidi.cealcompose'
}
dependencies {
implementation 'androidx.core:core-ktx:1.9.0'
implementation "androidx.compose.ui:ui:$compose_version"
implementation "androidx.compose.material:material:$compose_version"
implementation "androidx.compose.ui:ui-tooling-preview:$compose_version"
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.5.1'
implementation 'androidx.activity:activity-compose:1.6.0'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
androidTestImplementation "androidx.compose.ui:ui-test-junit4:$compose_version"
debugImplementation "androidx.compose.ui:ui-tooling:$compose_version"
debugImplementation "androidx.compose.ui:ui-test-manifest:$compose_version"
//Splash screen
implementation 'androidx.core:core-splashscreen:1.0.0'
//Leak Canary
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.8.1'
//Compose Navigation
implementation("androidx.navigation:navigation-compose:2.5.2")
//Hilt
implementation("com.google.dagger:hilt-android:2.43")
kapt("com.google.dagger:hilt-compiler:2.43")
// implementation "androidx.fragment:fragment-ktx:1.5.1"
// implementation "androidx.activity:activity-ktx:1.5.1"
//Hilt Navigation
implementation("androidx.hilt:hilt-navigation:1.0.0")
//Accompanist
implementation("com.google.accompanist:accompanist-pager:0.25.0")
implementation("com.google.accompanist:accompanist-systemuicontroller:0.25.0")
}
Not sure what is going wrong. I am using the latest libs for all dependencies and plugins but keep getting the error
CodePudding user response:
Compose compiler and the other compose dependencies have different releases. Currently:
compose_compiler = '1.3.2'
compose_version = '1.2.1'
In your build gradle
files you are using the same version for all of them and some of them don't exist.
You can easily use different versions in your build.gradle
script.
Something like:
buildscript {
ext {
compose_compiler = '1.3.2'. //compiler
compose_version = '1.2.1'. //stable compose dependencies
compose_material3 = '1.0.0-rc01' //M3 releases
}
//...
}
Then in your app/build.gradle
file
composeOptions {
kotlinCompilerExtensionVersion compose_compiler
}
dependencies {
//stable releases
implementation "androidx.compose.material:material:$compose_version"
implementation "androidx.compose.ui:ui:$compose_version"
//...other dipendencies
//material3 releases
implementation "androidx.compose.material3:material3:$compose_material3"
}