android java8 gradle,使用Java 8模块Gradle Android Project

正如我在

this post中看到的那样,Java 8现在还没有得到Android的正式支持.所以我很感兴趣是否可以使用Java 8构建带有Java 7和Java模块(作为依赖项)的Android模块.

作为一个例子,我正在尝试创建一个Gradle项目,该项目将包含一个Android模块和一个Java模块作为依赖项.

通过为两个模块设置以下compileOptions,一切正常.

compileOptions {

sourceCompatibility JavaVersion.VERSION_1_7

targetCompatibility JavaVersion.VERSION_1_7

}

但是,如果我尝试将我的Java模块的compileOptions更改为

compileJava {

sourceCompatibility = 1.8

targetCompatibility = 1.8

}

我收到以下错误:

Error:Execution Failed for task ':fc-android:preDexFreeDebug'.

> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_45\bin\java.exe'' finished with non-zero exit value 1

那么问题是,实际上可能有用1.7版本编译的Android模块和用1.8编译的依赖Java模块吗?如果没有,为什么呢?

更新:

Retrolamba for Gradle(由@SAEed提到)很好,但是他们只支持lambda,所以不能访问Stream API,DateTime API和其他功能.想象一下,如果我们有使用Java 8构建的* .jar文件(没有Android代码).我认为我们不能使用这样的* .jar文件作为Android模块的依赖项,因为它的字节码不会被ART或Dalvik支持,而只能由JVM for Java 8支持.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值