在Android Studio中使用JDK8的语言特性

Android Studio生成的项目默认支持JDK7,如果在程序中使用JDK8中的Lambda表达式就会报错。如何配置Android Studio在项目中使用JDK8中的新特性呢?

编辑项目中app模块的build.gradle(Module: app)文件。

1
2
3
4
Gradle Scripts
build.gradle(Project: xxxx)
build.gradle(Moudle: app)
...

在android段中加入以下编译选项:

1
2
3
4
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}

加入后完整的build.gradle文件如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
apply plugin: 'com.android.application'

android {
compileSdkVersion 28
defaultConfig {
applicationId "cn.com.hohistar.tutorial.todoapp"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

保持修改后,Android Studio 会提示是否需要同步,选择 “sync now”即可。然后就可以使用JDK8的新特性了。

本文标题:在Android Studio中使用JDK8的语言特性

文章作者:梅老师

发布时间:2019年08月03日 - 10:08

最后更新:2020年09月16日 - 08:09

原始链接:https://www.mls-tech.info/app/android/android-jdk8-lambda/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。