代码之家  ›  专栏  ›  技术社区  ›  esmail.unlinea

Hilt使用ksp而不是kapt

  •  1
  • esmail.unlinea  · 技术社区  · 1 年前

    如何使用剑柄与ksp而不是kapt似乎我不知道 请告诉我应该添加哪些依赖项以及如何添加它们

    我添加的依赖项:

    //hilt
        val hiltVersion = "2.51"  
        implementation("com.google.dagger:hilt-android:$hiltVersion")
        ksp("com.google.dagger:hilt-android-compiler:$hiltVersion")
        ksp("com.google.dagger:hilt-compiler:$hiltVersion")
    

    插件:

    plugins {
        id("com.android.application")
        id("org.jetbrains.kotlin.android")
        id ("com.google.dagger.hilt.android")
        id("com.google.devtools.ksp") version "1.9.22-1.0.17"
    }
    

    构建渐变:

    plugins {
        id("com.android.application") version "8.2.2" apply false
        id("org.jetbrains.kotlin.android") version "1.9.0" apply false
        id("com.google.dagger.hilt.android") version "2.51" apply false
        id("com.google.devtools.ksp") version "1.9.22-1.0.17" apply false
    }
    

    我试过不同的手柄版本,比如2.48.1 不同的kotlin编译器扩展版本,如1.5.8

    似乎什么都不起作用我有多个不同的错误不知道我在做什么,也不知道我做错了什么

    2 回复  |  直到 1 年前
        1
  •  2
  •   Megh Lath    1 年前

    在您的项目级别 build.gradle 添加以下插件:

    plugins {
        id("org.jetbrains.kotlin.jvm") version "1.9.23"
        id("com.google.devtools.ksp") version "1.9.23-1.0.20"
    }
    

    build.gradle(app) ,添加此插件:

    plugins {
        id("com.google.devtools.ksp")
    }
    

    依赖项:

    // Hilt
    val hilt = "2.50"
    implementation("com.google.dagger:hilt-android:$hilt")
    ksp("com.google.dagger:hilt-compiler:$hilt")
    
    

    确保您拥有最新且稳定的撰写版本:

    In app's build.gradle
    
    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.11"
    }
    
        2
  •  1
  •   Miroslav Hýbler    1 年前

    使用时 kotlin , ksp compose 您必须记住使用彼此兼容的版本,否则构建项目很可能会失败。

    Kotlin和KSP

    看看 releases ,ksp版本总是由两部分组成,例如。 1.9.23-1.0.20 哪里 1.9.23 是kotlin版本和 1.0.20 是实际的KSP版本(我认为)。

    科特林与作曲

    兼容版本的列表可以在中找到 Android docs .

    您的案例

    由于您正在使用 科特林 1.9.0 你应该使用 KSP 1.9.0-1.0.13 kotlin编译器扩展版本 1.5.2 .对于匕首来说,版本应该很好 2.48 以及以上基于 this ,所以版本 2.51 很好。