kotlin 导致错误的原因:':应用程序:调试运行时类路径'

5fjcxozz  于 2022-11-16  发布在  Kotlin
关注(0)|答案(1)|浏览(156)

我尝试通过升级到kotlin 1.7.20来升级到compose compiler 1.3.2,但我一直收到错误消息,说是Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
我正在使用android studio海豚
如果我用kotlin 1.7.0恢复我的compose compiler to 1.2.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
}

应用级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")

}

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

jhdbpxl9

jhdbpxl91#

构成编译器和其他构成相依性具有different releases。目前:

compose_compiler = '1.3.2'         
compose_version = '1.2.1'

在您的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
    }
    //...
}

然后在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"
}

相关问题