【问题标题】:./gradlew command line error after updating Android Studio./gradlew 更新 Android Studio 后出现命令行错误
【发布时间】:2018-03-30 10:08:02
【问题描述】:

Android studio 更新到 3.2,并对 gradle 版本和 gradle 插件进行了相应的更改后,我无法再从命令行运行 ./gradlew 而不会出现错误。但是,我仍然可以同步 gradle 并从工具栏构建应用程序。我得到的错误是:

> Failed to apply plugin [id 'com.android.application']
> Could not create an instance of type com.android.build.gradle.AppExtension_Decorated.
  > Could not create an instance of type com.android.build.gradle.internal.api.DefaultAndroidSourceSet.
     > Uninitialized object exists on backward branch 70
       Exception Details:
         Location:
           com/android/build/gradle/internal/scope/BuildArtifactsHolder.newArtifact(Lcom/android/build/api/artifact/BuildableArtifact;)Lcom/android/build/gradle/internal/scope/BuildArtifactsHolder$BuildableArtifactData; @119: goto
         Reason:
           Error exists in the bytecode

非常感谢您在了解问题所在方面提供的任何帮助。我正在使用嵌入在 Android Studio 中的 jdk,并尝试删除各种文件夹,如 .gradle、build、.idea 并重新导入项目,但似乎没有任何解决方法。如果相关的话,我正在使用 Kotlin。不太确定如何进行调试。

gradle-wrapper.properties

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

项目根 build.gradle 的相关部分

buildscript {
    repositories {
        google()
        jcenter()
    }
dependencies {
    classpath 'com.android.tools.build:gradle:3.2.0-alpha08'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.31"
}

【问题讨论】:

    标签: android android-studio gradle android-studio-3.0


    【解决方案1】:

    事实证明,虽然 Android Studio 带有嵌入式 jdk 版本,但 gradle 包装器默认情况下并不使用 Android Studio 中嵌入的那个版本的 jdk,而是使用您系统上安装的任何 JDK。就我而言,那个版本太旧了,所以我只是用 brew 将它更新到最新版本的 java8,我的 ./gradlew 任务现在可以正常工作了。 注意:最初brew更新java到java10,还是不行,所以只好专门安装最新的java8。

    【讨论】:

      【解决方案2】:

      尝试使用 Invalidate Caches/Restart 重新启动 Android Studio。

      【讨论】:

      • 忘了说我也试过了,但是没有用。我也尝试过重新导入项目,但也没有用。
      【解决方案3】:

      尝试将gradle添加到环境变量中:set PATH=d:\tools\gradle\bin;%PATH% 您还可以定义一个名为 GRADLE_HOME 的新环境变量。

      再次检查安装步骤。 https://www.javacodegeeks.com/2013/04/how-to-install-gradle-2.html

      【讨论】:

      • 我已经使用 Homebrew 安装了 gradle,并且已经能够从项目目录中访问它。在升级 Android Studio/Gradle 版本之前,我从来没有遇到过 gradle 的问题
      • 你也有最新版本的 gradle 吗? stackoverflow.com/questions/17727645/…
      • 是的,我的系统上安装了 4.6,并且根据文档将项目包装器属性设置为 4.5
      猜你喜欢
      • 2018-09-17
      • 1970-01-01
      • 2016-08-07
      • 2017-05-21
      • 1970-01-01
      • 2016-03-11
      • 2017-08-10
      • 2014-08-26
      • 2021-05-04
      相关资源
      最近更新 更多