Gradle无法使用Java 1.8进行编译

印记

我的项目开始出现问题。每当我在build.gradle文件中将源功能和目标功能设置为Java版本1_8时,我的项目就无法编译。

继承人build.gradle代码

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.5.0'
    }
}
apply plugin: 'com.android.application'

repositories {
    jcenter()
}

android {
    compileSdkVersion 22
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "xxxx"
        minSdkVersion 22
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
}

与Java 1.6正常工作

这是gradle assembleDebug --stacktrace的一些堆栈跟踪

An exception has occurred in the compiler (1.8.0_25). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport)  after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report.  Thank you.
com.sun.tools.javac.code.Symbol$CompletionFailure: class file for java.lang.invoke.MethodType not found
:app:compileDebugJavaWithJavac FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --info or --debug option to get more log output.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileDebugJavaWithJavac'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
        at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
        at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
        at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
        at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
        at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
        at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:154)
        at org.gradle.internal.Factories$1.create(Factories.java:22)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52)
        at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:151)
        at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
        at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:99)
        at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:93)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
        at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93)
        at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:94)
        at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
        at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)
        at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:75)
        at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:45)
        at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:51)
        at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:28)
        at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:43)
        at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:170)
        at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
        at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
        at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
        at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
        at org.gradle.launcher.Main.doAction(Main.java:33)
        at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
        at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
Caused by: org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler error output for details.
        at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:47)
        at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:33)
        at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:103)
        at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:52)
        at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:38)
        at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:34)
        at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:25)
        at org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:157)
        at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:139)
        at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:93)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:244)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:220)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:231)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:209)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
        ... 57 more


BUILD FAILED

好像编译器有问题,无法弄清楚该怎么办。

我的bash个人资料是否与之相关

export GRADLE_HOME=/Users/xxx/Library/gradle-2.8/bin
export ANDROID_HOME=/Users/xxx/Library/Android/sdk
export ANDROID_NDK=/Users/xxx/Library/android-ndk
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$GRADLE_HOME:$JAVA_HOME:$ANDROID_NDK

我尝试了不同的gradle版本-2.11、2.12、2.8。

我正在研究IntelliJ15。尝试在模块设置中设置项目路径,还尝试将语言级别设置为lambda。似乎没有任何作用。

加布里埃尔·马里奥蒂(Gabriele Mariotti)

Android仅在Android N上引入Java 8

要使用Java 8,您需要:

  • Android Studio 2.1(预览版)
  • 启用杰克编译器

有点像:

android {
  ...
  defaultConfig {
    ...
    jackOptions {
      enabled true
    }
  }
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}

更多信息在这里

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Gradle无法使用lib进行编译

来自分类Dev

使用Maven和Java 8使用Lombok进行编译

来自分类Dev

Maven项目无法在OSX上使用Java 8进行编译

来自分类Dev

Maven项目无法在OSX上使用Java 8进行编译

来自分类Dev

始终使用utf8编码进行编译

来自分类Dev

无法使用Picocli进行编译

来自分类Dev

无法使用openmp进行编译

来自分类Dev

使用Java 8 SDK为Java 7 JRE进行IntelliJ编译

来自分类Dev

Java 8中的三元运算符,使用Maven进行编译

来自分类Dev

为什么这个Java 8示例在Eclipse中没有使用类型推断进行编译?

来自分类Dev

我如何让 install4jc 使用 java 8 进行编译

来自分类Dev

是否存在专门设计为使用汇编指令以跨平台方式对位进行编译的C函数或宏,以进行1:1编译?

来自分类Dev

Kotlin:使用Gradle进行增量编译

来自分类Dev

为什么此代码使用jdk8u45及更高版本进行编译,而不使用jdk8u25进行编译?

来自分类Dev

使用Android Gradle插件进行编译时如何添加Java编译器选项?

来自分类Dev

使用CodeDom进行编译

来自分类Dev

使用CodeDom进行编译

来自分类Dev

使用Java 8编译Gradle Java项目但使用Java 11运行测试

来自分类Dev

在Java 8中进行编译时,存储某些类的方法参数名称

来自分类Dev

是否有令人信服的案例可以从Java 8上的源代码编译Groovy进行打包?

来自分类Dev

无法使用Gradle编译虚拟类

来自分类Dev

std :: find()无法使用gcc进行编译

来自分类Dev

无法在OpenBSD上使用Editline进行编译

来自分类Dev

无法使用gcc-7进行编译

来自分类Dev

使用Codelite进行编译。无法识别“制造”

来自分类Dev

模板无法使用dev c ++进行编译

来自分类Dev

Browserify无法使用日期行进行编译

来自分类Dev

使用Java8运行Gradle并使用fork编译Java13

来自分类Dev

Gradle无法针对Firebase Cloud Messaging进行编译

Related 相关文章

  1. 1

    Gradle无法使用lib进行编译

  2. 2

    使用Maven和Java 8使用Lombok进行编译

  3. 3

    Maven项目无法在OSX上使用Java 8进行编译

  4. 4

    Maven项目无法在OSX上使用Java 8进行编译

  5. 5

    始终使用utf8编码进行编译

  6. 6

    无法使用Picocli进行编译

  7. 7

    无法使用openmp进行编译

  8. 8

    使用Java 8 SDK为Java 7 JRE进行IntelliJ编译

  9. 9

    Java 8中的三元运算符,使用Maven进行编译

  10. 10

    为什么这个Java 8示例在Eclipse中没有使用类型推断进行编译?

  11. 11

    我如何让 install4jc 使用 java 8 进行编译

  12. 12

    是否存在专门设计为使用汇编指令以跨平台方式对位进行编译的C函数或宏,以进行1:1编译?

  13. 13

    Kotlin:使用Gradle进行增量编译

  14. 14

    为什么此代码使用jdk8u45及更高版本进行编译,而不使用jdk8u25进行编译?

  15. 15

    使用Android Gradle插件进行编译时如何添加Java编译器选项?

  16. 16

    使用CodeDom进行编译

  17. 17

    使用CodeDom进行编译

  18. 18

    使用Java 8编译Gradle Java项目但使用Java 11运行测试

  19. 19

    在Java 8中进行编译时,存储某些类的方法参数名称

  20. 20

    是否有令人信服的案例可以从Java 8上的源代码编译Groovy进行打包?

  21. 21

    无法使用Gradle编译虚拟类

  22. 22

    std :: find()无法使用gcc进行编译

  23. 23

    无法在OpenBSD上使用Editline进行编译

  24. 24

    无法使用gcc-7进行编译

  25. 25

    使用Codelite进行编译。无法识别“制造”

  26. 26

    模板无法使用dev c ++进行编译

  27. 27

    Browserify无法使用日期行进行编译

  28. 28

    使用Java8运行Gradle并使用fork编译Java13

  29. 29

    Gradle无法针对Firebase Cloud Messaging进行编译

热门标签

归档