无法找到方法 ''void com.android.build.api.extension.AndroidComponentsExtension$DefaultImpls.androidTest$default(com.android.build

22 android kotlin

我使用 Jetpack Compose 的第一个项目出现了这样的错误,我该如何解决

无法找到方法 ''void com.android.build.api.extension.AndroidComponentsExtension$DefaultImpls.androidTest$default(com.android.build.api.extension.AndroidComponentsExtension, com.android.build.api.extension.VariantSelector, kotlin .jvm.functions.Function1, int, java.lang.Object)'' 'void com.android.build.api.extension.AndroidComponentsExtension$DefaultImpls.androidTest$default(com.android.build.api.extension.AndroidComponentsExtension, com .android.build.api.extension.VariantSelector, kotlin.jvm.functions.Function1, int, java.lang.Object)' Gradle 的依赖缓存可能已损坏(这有时会在网络连接超时后发生。)

我的依赖:

dependencies {
        classpath 'com.android.tools.build:gradle:7.0.0-beta03'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.30"
        classpath "com.google.dagger:hilt-android-gradle-plugin:2.31.2-alpha"
    }
Run Code Online (Sandbox Code Playgroud)

Man*_*eru 38

就我而言,问题是 Android Gradle 插件和 Hilt 库之间的不兼容。将 Hilt 升级到最新版本后,我也可以使用最新的 AGP。

[编辑] 最近发布的 Android Gradle 插件似乎已经解决了这个问题,并且 AGP 版本7.0.0-beta05适用于 Hilt 版本2.37

链接到相关的 Github 问题


avv*_*sis 15

在我的情况下,AGP 7.0.0成功构建Hilt 2.37

  • 对我来说,它适用于 Kotlin 版本 1.5.21 AGP 7.0.0 和 Hilt 2.38.1。但现在它警告 Kotlin 插件版本。这很奇怪,因为市场上已经有 kotlin 插件版本 1.5.21 并且它不允许我升级旧插件 (3认同)

All*_*son 11

对我来说,我被利用了

摇篮

classpath "com.android.tools.build:gradle:7.0.3"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.31"
Run Code Online (Sandbox Code Playgroud)

希尔特

项目级别等级

classpath "com.google.dagger:hilt-android-gradle-plugin:2.39.1"
Run Code Online (Sandbox Code Playgroud)

应用程序级别等级

implementation "com.google.dagger:hilt-android:2.39.1"
kapt "com.google.dagger:hilt-compiler:2.39.1"
androidTestImplementation "com.google.dagger:hilt-android-testing:2.39.1"
kaptAndroidTest "com.google.dagger:hilt-android-compiler:2.39.1"
Run Code Online (Sandbox Code Playgroud)


Ali*_*rei 10

如果您使用的是 Hilt,请将其升级到 v2.38.1 。此版本中修复了 AGP 7 的一些问题

在这里看到:https : //github.com/google/dagger/releases


Min*_*yên 7

[更新]:目前,您可以Hilt 2.38使用gradle:7.1.0

dependencies {
  classpath 'com.android.tools.build:gradle:7.1.0'
  classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.10"
  classpath "com.google.dagger:hilt-android-gradle-plugin:2.37"
}
Run Code Online (Sandbox Code Playgroud)

如果不起作用,请告诉我


Alé*_*lho 6

使用 Hilt 2.39.1的 gradle 插件:

classpath 'com.google.dagger:hilt-android-gradle-plugin:2.39.1'
Run Code Online (Sandbox Code Playgroud)

并将刀柄版本更新为2.37

implementation "com.google.dagger:hilt-android:2.37"
kapt "com.google.dagger:hilt-android-compiler:2.37"
Run Code Online (Sandbox Code Playgroud)


Jay*_*mar 5

只需更新到最新版本的匕首柄,即当前(2.38.1)