【问题标题】:Build Error Extension not initialized yet, couldn't access compileSdkVersion. Android Studio构建错误扩展尚未初始化,无法访问 compileSdkVersion。安卓工作室
【发布时间】:2020-08-17 13:32:23
【问题描述】:
> Task :prepareKotlinBuildScriptModel UP-TO-DATE
<ij_msg_gr>Gradle import errors<ij_msg_gr><ij_nav>D:\Important_Docs\Projects\Backup\RLPHYC\android-utils\build.gradle<ij_nav><i><b>project ':android-utils': Unable to build Kotlin project configuration</b><eol>Details: org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreationException: Could not create task ':android-utils:generateLintModuleInfo'.<eol>Caused by: java.lang.IllegalStateException: Extension not initialized yet, couldn't access compileSdkVersion.</i>
<ij_msg_gr>Gradle import errors<ij_msg_gr><ij_nav>D:\Important_Docs\Projects\Backup\RLPHYC\app\build.gradle<ij_nav><i><b>project ':app': Unable to build Kotlin project configuration</b><eol>Details: org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreationException: Could not create task ':app:generateLintModuleInfo'.<eol>Caused by: java.lang.IllegalStateException: Extension not initialized yet, couldn't access compileSdkVersion.</i>
Extension not initialized yet, couldn't access compileSdkVersion.

试图使缓存重启无效也在顶级 Gradle 中使用了 ext 并且还删除了 Gradle 文件夹仍然错误继续

Gradle 版本没问题尝试过不同的 Gradle 版本

【问题讨论】:

标签: java android kotlin gradle


【解决方案1】:

就像@Vacexe 说的,这是dexcount 插件的bug。

您可以通过将 dexcount 插件版本更新到 2.0.0 来解决此问题:

classpath 'com.getkeepsafe.dexcount:dexcount-gradle-plugin:2.0.0'

【讨论】:

    【解决方案2】:

    在将 gradle 插件升级到 4.1.0 版本后,我在我们的项目中遇到了同样的问题,已通过删除此插件解决

    apply plugin: 'com.getkeepsafe.dexcount'
    
    • 首先检查你的项目中使用了什么插件
    • 第二次尝试在没有它的情况下重新编译找到一个棘手的

    【讨论】:

    【解决方案3】:

    他们从 DSL 中删除了一些已弃用的方法。因此,非最新插件将在此更新中惨遭崩溃。 事实上,问题可能来自任何使用 gradle Android DSL 中已弃用的方法的 gradle 插件。 跑吧

    $ ./gradlew clean assemble --stacktrace
    

    了解哪些插件调用了已弃用(已删除)的方法,并且通常此插件有一个更新的版本,不再使用已弃用的 DSL 方法。 就我而言,这是 junit5,但必须进行逐个验证。

    【讨论】:

    • 他们在几分钟前发布了 4.1.1。它重新启用了一些已删除的版本,并带有弃用警告。这不是不更新旧依赖项的借口:)
    【解决方案4】:

    无法创建任务':app:generateLintModuleInfo'

    当我在 android studio 中创建一个新项目时,我遇到了上述问题。我访问了stackoverflow得到了这个问题。

    然后因为我没有得到任何东西,所以我尝试比较以前成功构建项目的 build.gradle(:app) 文件,我看到了,它们就是这额外的一行

     buildToolsVersion "31.0.0"
    

    您将在 compileSdkVersion 中得到它。只需删除上面的行并同步 gradle 文件。对我来说,后来一切顺利。

    【讨论】:

    • 将其减少到 buildToolsVersion "30.0.2" 也可以。
    【解决方案5】:

    无法创建任务':app:generateLintModuleInfo'

    当我在 android studio 中创建一个新项目时,我遇到了上述问题。 我试图在项目 gradle 中将 gradle 版本从 4.2.1 更改为 3.4.3,然后它构建成功。就像这样-

     dependencies {
      classpath "com.android.tools.build:gradle:3.4.3"}
    

    我认为这个问题是在gradle版本和buildToolsVersion等中出现的问题,当我创建一个新项目时,它默认使用最低的android版本,现在是targetSdkVersion 32。

    【讨论】:

      【解决方案6】:

      当我更新到 Android Studio 4.1 时发生这种情况,然后我改回以前的设置,现在一切正常。

      gradle-wrapper.properties

      distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
      

      build.gradle(项目)

          dependencies {
              classpath 'com.android.tools.build:gradle:4.0.1'
          }
      

      【讨论】:

      • 就我而言,我必须创建一个新项目并将所有源文件复制到一个新项目中,我认为问题在于 kotlin 版本和我的 android studio kotlin 版本之间的差异跨度>
      • 显然,不更新不是可持续的解决方案。我仍然想知道为什么这个 AS 版本和 AGP 版本会失败/崩溃。关于项目的 Kotlin 版本过时或 AS Kotlin 插件版本过时的其他评论不适用于我的项目:它们是最新的,但构建失败并出现相同的错误。
      • 更新你的dexcount插件版本:stackoverflow.com/a/64841672/669647
      猜你喜欢
      • 1970-01-01
      • 2019-02-06
      • 1970-01-01
      • 1970-01-01
      • 2016-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-25
      相关资源
      最近更新 更多