AndroidStudio 3.0beta2 rxjava2 java8的坑

AndroidStudio 3.0beta2如果使用rxjava2和java8的lambda表达式,会出现如下形式的错误:

Exception in thread "main" java.lang.IllegalArgumentException
    at com.google.common.base.Preconditions.checkArgument(Preconditions.java:108)
    at com.google.devtools.build.android.desugar.DefaultMethodClassFixer$DefaultMethodFinder.visit(DefaultMethodClassFixer.java:295)
    at org.objectweb.asm.ClassReader.accept(Unknown Source)
    at org.objectweb.asm.ClassReader.accept(Unknown Source)
    at com.google.devtools.build.android.desugar.DefaultMethodClassFixer.defaultMethodsDefined(DefaultMethodClassFixer.java:173)
    at com.google.devtools.build.android.desugar.DefaultMethodClassFixer.visitEnd(DefaultMethodClassFixer.java:75)

相关错误可以在 https://stackoverflow.com/questions/45604099/rxjavaplugins-error-didnt-find-class-com-google-devtools-build-android-desugar #6找到答案。

意思是说:
1、就是使用java8的时候,minSdkVersion需小于19,并不要使用java8的特性,如lambda等;

2、使用java7;

从我的测试来看:
使用方案1,验证失败;
方案2可行。

希望google尽早修复这个bug吧...

 

posted @ 2017-08-16 17:31  laozhao1005  阅读(781)  评论(0)    收藏  举报