./gradlew 更新 Android Studio 后出现命令行错误
./gradlew command line error after updating Android Studio
更新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"
}
尝试使用 Invalidate Caches/Restart 重新启动 Android Studio。
尝试在环境变量中加入gradle:set PATH=d:\tools\gradle\bin;%PATH%
您还可以定义一个名为 GRADLE_HOME.
的新环境变量
再次检查安装步骤。
https://www.javacodegeeks.com/2013/04/how-to-install-gradle-2.html
事实证明,虽然 Android Studio 附带 jdk 的嵌入式版本,但 gradle 包装器默认情况下不使用该版本的 jdk 嵌入式在 Android Studio 中,而是使用您在系统上安装的任何 JDK。在我的情况下,那个版本太旧了,所以我只是用 brew 将它更新到最新版本的 java8,我的 ./gradlew 任务现在工作正常。
注意:最初 brew 将 java 更新为 java10,这没有用,所以我不得不专门安装最新的 java8.
更新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"
}
尝试使用 Invalidate Caches/Restart 重新启动 Android Studio。
尝试在环境变量中加入gradle:set PATH=d:\tools\gradle\bin;%PATH% 您还可以定义一个名为 GRADLE_HOME.
的新环境变量再次检查安装步骤。 https://www.javacodegeeks.com/2013/04/how-to-install-gradle-2.html
事实证明,虽然 Android Studio 附带 jdk 的嵌入式版本,但 gradle 包装器默认情况下不使用该版本的 jdk 嵌入式在 Android Studio 中,而是使用您在系统上安装的任何 JDK。在我的情况下,那个版本太旧了,所以我只是用 brew 将它更新到最新版本的 java8,我的 ./gradlew 任务现在工作正常。 注意:最初 brew 将 java 更新为 java10,这没有用,所以我不得不专门安装最新的 java8.