Geo*_*gan 136

有关使用Jack需要什么的详细信息以及如何在文档中找到.

以下是有关build.gradle如何使用jackOptions和设置compileOptionsfor java 1.8 的文档中的相关部分.

android {
    ...
    defaultConfig {
        ...
        jackOptions {
            enabled true
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}
Run Code Online (Sandbox Code Playgroud)

UPDATE

根据这篇文章,杰克工具链现在被认为已被弃用,并且根据帖子,在未来几周内,作为Android构建系统的一部分,本机支持Java 8功能.

该文章还提到,如果您仍想尝试使用Jack启用Java 8功能,那么从Jack迁移到新方法应该很少甚至没有工作.

更新2预览内置支持

您现在可以使用最新的Android Studio预览版2.4预览版6试用新的内置Java 8支持.

有关如何启用它或从Jack或Retrolambda迁移的更多信息,请参阅文档.

  • 我仍然收到一个错误:`无法在任务'上找到属性'选项':app:compileDebugJavaWithJack'. (27认同)
  • @GeorgeMulligan不,不.差远了.得到几十个杰克错误.这个杰克工具非常愚蠢,应该在地狱中燃烧. (10认同)
  • @IgorGanapolsky我发现了一些将该错误链接到注释处理器的引用.您是否有机会使用任何执行注释处理的库,例如匕首或者刀具?看起来Jack最近才能够使用Android Gradle Plugin 2.2.0-alpha1或更高版本在类路径上应用注释处理器.如果使用较低版本,您可以自己指定注释处理器,如[here](http://tools.android.com/tech-docs/jackandjill)所示. (4认同)

小智 12

您可以通过在build.gradle文件中添加以下行来启用jack编译器.

android{

compileSdkVersion 23

buildToolsVersion "24rc2"

defaultConfig {
    ...
    jackOptions {
        enabled true
    }
}
compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}}
Run Code Online (Sandbox Code Playgroud)


min*_*xia 6

Jack/Jill将在不久的将来被抛弃,请参阅Google帖子. https://android-developers.googleblog.com/2017/03/future-of-java-8-language-feature.html