引起:org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException:':app:debugRuntimeClasspath'

Go *_*ves 6 android kotlin android-jetpack-compose android-jetpack-compose-material3

我正在尝试compose compiler 1.3.2通过升级到来升级到kotlin 1.7.20,但我不断收到错误消息Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration ':app:debugRuntimeClasspath'.

我正在使用 android studio 海豚

如果我恢复我compose compiler to 1.2.0的那么kotlin 1.7.0它工作正常。

根 gradle 文件。

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
}
Run Code Online (Sandbox Code Playgroud)

应用级gradle文件

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")

}
Run Code Online (Sandbox Code Playgroud)

不知道出了什么问题。我正在为所有依赖项和插件使用最新的库,但不断收到错误

Gab*_*tti 4

Compose 编译器和其他 compose 依赖项有不同的版本。现在:

compose_compiler = '1.3.2'         
compose_version = '1.2.1'
Run Code Online (Sandbox Code Playgroud)

在您的build gradle文件中,您对所有文件使用相同的版本,其中一些文件不存在。

您可以轻松地在脚本中使用不同的版本build.gradle
就像是:

buildscript {
    ext {
        compose_compiler = '1.3.2'.         //compiler
        compose_version = '1.2.1'.          //stable compose dependencies
        compose_material3 = '1.0.0-rc01'    //M3 releases
    }
    //...
}
Run Code Online (Sandbox Code Playgroud)

然后在你的app/build.gradle文件中

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"
}
Run Code Online (Sandbox Code Playgroud)