Replace Retrolambda with Android Studio 3.0 Java 8 built-in features Replace Retrolambda with Android Studio 3.0 Java 8 built-in features android android

Replace Retrolambda with Android Studio 3.0 Java 8 built-in features


This is probably caused by a bug in the Gradle Java 8 language feature desugaring that is tracked in https://issuetracker.google.com/issues/62456849

desugar seems to blindly rename the synthetic methods in a class file if their name starts with lambda$ (appending the owner class name) regardless of whether a reference to that method already exists in the bytecode (and that reference doesn't get renamed too).

When the code path hits such a reference at runtime the obvious result is a NoSuchMethodError because a method with that name doesn't exist anymore.