luontola / retrolambda

Backport of Java 8's lambda expressions to Java 7, 6 and 5
Apache License 2.0
3.54k stars 227 forks source link

Proguard still fails with retrolambda 2.5.1 targeting Java 7 #132

Open Perseverance1139 opened 7 years ago

Perseverance1139 commented 7 years ago

Proguard reports error for each lambda usage: can't find referenced class java.lang.invoke.MethodHandles$Lookup can't find referenced class java.lang.invoke.MethodHandles

It is an android application.

Looking at this line here, I wonder should we remove methodhandles for Java 7 as well? https://github.com/orfjackal/retrolambda/blob/6d5a4c1fd9d094452cfde2096a81ab82a0c1c9ce/retrolambda/src/main/java/net/orfjackal/retrolambda/Transformers.java#L116

Thanks!

luontola commented 6 years ago

Methodhandles were added in Java 7 (https://docs.oracle.com/javase/7/docs/api/java/lang/invoke/MethodHandles.html), but maybe Android's "Java 7" is not really Java 7 compatible and is missing some APIs. Does it work if you instead target Java 6?