首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有办法在Android库项目中使用Java 8特性吗?

有办法在Android库项目中使用Java 8特性吗?
EN

Stack Overflow用户
提问于 2016-06-22 17:55:19
回答 2查看 4.8K关注 0票数 11

我跟踪了Android 8功能手册。它适用于Android应用程序项目。但是,当我尝试将它与Android库项目一起使用时,我会得到

代码语言:javascript
复制
Error:Library projects cannot enable Jack. Jack is enabled in default config.

部分解决方案:i使用Gradle Retrolambda插件启用lamdba表达式。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-13 19:55:17

我也有同样的问题,也尝试过不同的方法。现在,它对我有效,而无需使用retrolambda (它在运行时产生了一些奇怪的错误)。此外,杰克是不活跃的原因,你已经说过了。google.com上有一篇关于这个主题的有趣的bug文章:https://code.google.com/p/android/issues/detail?id=211386

下面是我的build.gradle脚本,我在编译过程中使用了bug帖子中的解决方案来修复"MethodType not“异常。

代码语言:javascript
复制
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.2'
    }
}
apply plugin: 'com.android.library'

repositories {
    mavenCentral()
}

// Java8 not fully supported in library projects yet, https://code.google.com/p/android/issues/detail?id=211386
// this is a temporary workaround to get at least lambdas compiling
gradle.projectsEvaluated {
    tasks.withType(JavaCompile) {
        options.compilerArgs << "-Xbootclasspath/a:" + System.properties.get("java.home") + "/lib/rt.jar"
    }
}

android {
    compileSdkVersion 24
    buildToolsVersion "24"

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 24
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}
票数 18
EN

Stack Overflow用户

发布于 2017-09-02 23:03:38

这的确是一段漫长的旅程。我尝试了所有可能的组合的gradle插件,实验级插件+ retrolambda + Jack等,但没有运气。直到现在。从AndroidStudio3.0Preview 1或更高版本(以及相应的Android插件3.0.0-alpha1或更高版本),Jack工具链不再受欢迎,取而代之的是一些新的字节码转换-- sugaring,与标准的javac编译器一起使用。

有了这个设置,我个人(终于!!)在库项目中成功地使用了Java 8特性(如lambda)。

此页面包含所有技术信息以及迁移帮助等:https://developer.android.com/studio/write/java8-support.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37975128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档