我更新了我的androidstudio 2.1 stable.As Android Studio 2.1 supports Android N Developer Preview Android studio 2.1支持Jack (Java Android Compiler Kit)编译器。
如何在android studio中添加或使用Jack?
注意:
根据Java 8 Language Feature Support on Android,Jack工具链已被弃用。但是,您可以继续将它用于enable Java 8 language features,直到可以更换。
有关使用杰克需要什么的详细信息以及如何在documentation中找到。
以下是build.gradle
中关于如何使用jackOptions
和为java 1.8设置compileOptions
的文档中的相关部分。
android {
...
defaultConfig {
...
jackOptions {
enabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
UPDATE
根据this post,Jack工具链现在被认为已被弃用,并且根据该帖子,工作正在进行,以便在未来几周内本地支持Java 8功能作为Android构建系统的一部分。
该文章还提到,如果您仍想尝试使用Jack启用Java 8功能,那么从Jack迁移到新方法应该很少甚至没有工作。
更新2预览内置支持
您现在可以使用最新的Android Studio预览版2.4预览版6试用新的内置Java 8支持。
有关如何启用它或从Jack或Retrolambda迁移的更多信息,请参阅documentation。
您可以通过在build.gradle文件中添加以下行来启用jack编译器。
android{
compileSdkVersion 23
buildToolsVersion "24rc2"
defaultConfig {
...
jackOptions {
enabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}}
Jack / Jill将在不久的将来被抛弃,请参阅Google帖子。 https://android-developers.googleblog.com/2017/03/future-of-java-8-language-feature.html
1- build.gradle(模块)
defaultConfig {
//remove jackOptions
jackOptions {
enabled true
}
}
2-如果您使用的是使用Java 8 build.gradle的第三方(项目)
buildscript {
dependencies {
//remove this line of your third-party dependency
classpath 'PATH<VERSION>'
}
}
3 - 删除retrolambda,应用插件'.... lambda'qazxsw poi
4-添加到build.gradle(模块)
remove these lines from your module gradle
插入块android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
android{}
它解决方案
Android Studio 3版本支持Java 8,所有这些jackOptions {
enabled true
}
都不需要更长时间。
Jack不再受支持,您应首先禁用Jack以使用默认工具链中内置的改进Java 8支持。
有关详细信息,请阅读此链接:
jackOptions