android5.0使用java1.8,Android应用程序Java模块(Java 1.8)

Android Project(gradle)有主要的应用模块:

app – android应用程序(apply plugin:’com.android.application’)

和java模块:

network – (apply plugin:’java’)

java模块网络默认具有源代码兼容性1.8,因为lambda表达式,我真的想拥有它.

但默认情况下Android应用程序1.7我无法构建应用程序.

当然我在我的app – android模块中使用了retrolambda,但项目因为以下原因而无法编译:

错误:com.android.dx.cf.iface.ParseException:错误的类文件magic(cafebabe)或版本(0034.0000)

Error:Execution Failed for task ':app:transformClassesWithDexForDebug'.

> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1

如果我创建我的java模块,一切都编译好:

apply plugin: 'java'

sourceCompatibility = 1.7

targetCompatibility = 1.7

但在这种情况下我不能使用lambda表达式,但我需要它.

我只看到下一个解决方案:

>使网络模块不是java而是android-module并使用retrolambda

(但是我要从这个模块中制作.jar而不是.aar所以它必须是

JAVA)

>不要在我的java模块中使用lambda表达式(将来会.jar)(但是

我想使用它,因为在rxJava中没有匹配愚蠢的代码

拉姆达)

对我来说最好的解决方案就是在我的java模块中使用retrolambda.我试过做类似的事情,但retroambda依赖(apply plugin:’me.tatarka.retrolambda’)在编译期间没有受到影响.

或者也许使用java 1.7与retrolambda之类的东西.

但gradle文件没有部分android {…}来设置compileOptions.

这该怎么做?

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值