gpt4 book ai didi

android - 当存在 lintCheck 依赖项时,Gradle 构建工具 4.1.0 在 Android Studio 中同步失败

转载 作者:行者123 更新时间:2023-12-03 03:24:47 25 4
gpt4 key购买 nike

我们有一个带有自定义 lint 检查的 Android 多模块项目,我们一直在尝试迁移到 Android gradle 构建工具 4.1.0 ,但 Android Studio 4.1.0 gradle 同步一直失败。
假设我们有两个模块(加上一些不相关的“库”模块):

  • app (主应用模块)
  • lintchecks (自定义 lint 规则)
  • app使用自定义 lintchecks模块,位于 app/build.gradle :
      lintChecks project(":lintchecks")
    现在,假设有一些自定义插件(例如在 buildSrc 中)或使用 subprojects 组合的配置和 tasks.whenTaskAdded .
    例如,在 ./build.gradle :
    subprojects {
    tasks.whenTaskAdded {
    // content not important
    }
    }
    lintcheck 没有什么特别之处配置。例如 lintchecks/build.gradle :
    apply plugin: 'kotlin'

    dependencies {
    compileOnly "com.android.tools.lint:lint-api:27.1.0"
    compileOnly "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    testImplementation "com.android.tools.lint:lint:27.1.0"
    testImplementation "com.android.tools.lint:lint-tests:27.1.0"
    testImplementation "com.android.tools:testutils:27.1.0"
    }

    jar {
    manifest {
    attributes("Lint-Registry-v2": "com.company.lintrules.IssueRegistry")
    }
    }

    它在 Android Studio 同步上一直失败,错误类似于:
    A problem occurred evaluating project ':lintrules'.
    > Failed to apply plugin 'kotlin'.
    > Gradle#projectsEvaluated(Action) on build 'MyCompanyBuild' cannot be executed in the current context.
    总之
    看来问题是 的组合Android Studio 4.1.0 + 构建 gradle 工具 4.1.0 + lintCheck() + tasks.whenTaskAdded {} .
    我试过的
  • lintrules/build.xml 中的不同插件,例如maven-publish , org.jetbrains.kotlin.jvm ,同样的错误结果
  • 声明插件的不同方式,例如plugins { id (...) }apply plugin: '...' 相比,同样的错误结果
  • 旧版本的 lint 依赖项
  • 删除 lintCheck , 或删除 tasks.whenTaskAdded ,或降级到 gradle 构建工具 4.0.1 ,其中任何一个都可以使它再次工作
  • 在终端上运行任何命令,在 Android Studio 之外,它工作正常,问题似乎只在 A.S.同步操作。

  • 问题
    其他人还有相同的疑问么?

    最佳答案

    此问题在工单 https://issuetracker.google.com/issues/170656529 下报告。
    目前解决此问题的方法是跳过导致 idea.active 的 IDE 测试问题的逻辑。系统属性:

    if(System.getProperty("idea.active") != "true"){
    tasks.whenTaskAdded {
    (...)
    }
    }

    (感谢杰瑞找到票)

    关于android - 当存在 lintCheck 依赖项时,Gradle 构建工具 4.1.0 在 Android Studio 中同步失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64582833/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com