美文网首页
关于Error:Execution failed for tas

关于Error:Execution failed for tas

作者: 假面骑士阿盐 | 来源:发表于2017-08-07 12:20 被阅读0次

今天在写代码运行编译时, android studio突然报了以下错误, clean project, clean 后Referesh all Gradle projects,皆无效

Error:Execution failed for task ':app:compileRetrolambdaDebug'.
> Process 'command 'D:\Program Files\Android\Android Studio\jre\bin\java.exe'' finished with non-zero exit value 1

既然是'compileRetrolambdaDebug' 说明该错误或许和新增lambda表达式有关系.
经过排查后, 发现是新写的代码之中, 一句对Runnable函数的lambda缩写引起的:

listenableFuture.addDoneListener(() -> {
    ...
});

尝试将me.tatarka:gradle-retrolambda:3.2.0, 升级至3.7.0, 仍然报错.
于是暂时去掉lambda表达式, 将Runnable函数直接new出来以通过编译.


PS:花点时间探究了下原因, 发现在继承于DefaultMapViewOnTouchListener的类中,在任何地方(成员,构造函数,方法)出现lambda表达式皆会引起报错. 而,即使在继承DefaultMapViewOnTouchListener的父类中写lambda亦不会报错. 扫了几眼DefaultMapViewOnTouchListener类,除了部分代码有混淆外没有什么特别的,因此具体原因我就不继续深究了

相关文章

网友评论

      本文标题:关于Error:Execution failed for tas

      本文链接:https://www.haomeiwen.com/subject/zvmolxtx.html