如何在android studio中启用Jack(Java Android Compiler Kit)

问题描述 投票:67回答:6

我更新了我的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,直到可以更换。

https://source.android.com/source/jack

android android-gradle build.gradle android-studio-2.1 jack-compiler
6个回答
135
投票

有关使用杰克需要什么的详细信息以及如何在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


12
投票

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

android{

compileSdkVersion 23

buildToolsVersion "24rc2"

defaultConfig {
    ...
    jackOptions {
        enabled true
    }
}
compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}}

6
投票

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


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 - 删除retrolambda,应用插件'.... lambda'qazxsw poi

4-添加到build.gradle(模块)

remove these lines from your module gradle 

0
投票

插入块android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } }

android{}

它解决方案


0
投票

Android Studio 3版本支持Java 8,所有这些jackOptions { enabled true } 都不需要更长时间。

Jack不再受支持,您应首先禁用Jack以使用默认工具链中内置的改进Java 8支持。

有关详细信息,请阅读此链接:

jackOptions

© www.soinside.com 2019 - 2024. All rights reserved.