我已更新我的androidstudio 2.1 stable。按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,直到替换可用。
答案 0 :(得分:134)
有关使用Jack需要什么的详细信息以及如何在documentation中找到。
以下是build.gradle
中有关如何使用jackOptions
的文档的相关部分,并为java 1.8设置了compileOptions
。
android {
...
defaultConfig {
...
jackOptions {
enabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
<强>更新强>
根据this post,Jack工具链现在被认为已被弃用,并且根据该帖子,在未来几周内正在努力将Java 8功能作为Android构建系统的一部分进行本地支持。
帖子还提到,如果您仍想尝试在Jack中启用Java 8功能,那么从Jack迁移到新方法的工作应该很少甚至没有。
更新2预览内置支持
您现在可以使用最新的Android Studio预览版2.4预览版6试用新的内置Java 8支持。
有关如何启用或从Jack或Retrolambda迁移的详细信息,请参阅documentation。
答案 1 :(得分:12)
您可以通过在build.gradle文件中添加以下行来启用jack编译器。
android{
compileSdkVersion 23
buildToolsVersion "24rc2"
defaultConfig {
...
jackOptions {
enabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}}
答案 2 :(得分:6)
杰克/吉尔将在不久的将来被抛弃,请参阅Google帖子。 https://android-developers.googleblog.com/2017/03/future-of-java-8-language-feature.html
答案 3 :(得分:2)
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删除retrolamda,应用插件'.... labmda'remove these lines from your module gradle
4-添加到build.gradle(模块)
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
答案 4 :(得分:0)
在块android{}
中插入
jackOptions {
enabled true
}
解决方案
答案 5 :(得分:0)
Android Studio 3版本支持Java 8,所有这些jackOptions
都不需要更长时间。
不再支持杰克,您应首先禁用杰克使用 改进的Java 8支持内置于默认工具链中。
有关详细信息,请阅读此链接:
https://developer.android.com/studio/write/java8-support.html