装了jdk1.8好久了也没玩过1.8的新特性,虽然看过不少文章(好吧,是我太懒不想动),于是今天就试一下
1:项目的build.gradle中需要写入
- dependencies {
- classpath 'me.tatarka:gradle-retrolambda:3.2.5'
- }
2:app的build.gradle中需要写入
- apply plugin: 'me.tatarka.retrolambda'
- android {
- compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
- }
- }
否则会遇到一堆编译错误
比如:
- 编译器 (1.8.0_66) 中出现异常错误。如果在 Java Bug Database (http://bugreport.java.com/bugreport/) 中没有找到该错误, 请在该数据库中建立 Bug。请在报告中附上您的程序和以下诊断信息。谢谢。
- com.sun.tools.javac.code.Symbol$CompletionFailure: 找不到java.lang.invoke.MethodType的类文件
- Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
- > Compilation failed; see the compiler error output for details.
再比如:
- Error:(23, 38) 错误: -source 1.7 中不支持 lambda 表达式
- (请使用 -source 8 或更高版本以启用 lambda 表达式)
再比如:
- com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Java\jdk1.8.0_66\bin\java.exe'' finished with non-zero exit value 1
祝君好运。