-
Notifications
You must be signed in to change notification settings - Fork 227
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Interface field using lambda-style interface implementation causes VerifyError on Android < 5.0 #42
Comments
Thanks. I missed testing that corner case. Fixing it will be a bit harder than usual, but I'll try to do it soon. In the meanwhile the workaround is to not use lambdas inside interfaces. |
I was able to reuse the experimental support for default methods and static methods on interfaces, so fixing this went faster than expected. 😄 This is now fixed in Retrolambda 1.8.1 I don't understand why it anyways did work on Android 5 before this fix. The generated bytecode should not have worked on any Java versions, because only Java 8 added support for static methods in interfaces. 😦 You better test the new Retrolambda version on Android. |
Thanks for your support and the new release. I've just updated my sample project by specifying retrolambda.jar dependency to the latest v1.8.1: Now it works on Android 2.3, 4.3, 4.4 and 5 as well. Considered as fixed. Thank you once again :) |
…ods on an interface result in an unexpected opcode 00f8 message from dalvikvm on devices API <21. Could be related to luontola/retrolambda#42 This means I can't use lambdas with animationEndListeners. Oh well. (The brokenness of default methods on interfaces could also be the cause of the absurdities discovered in 98e0d2e).
Hi,
I've been using retrolambda for over 3 months with success but recently found an issue. To convince myself that issue is not related to my project-specific configuration I created sample project with latest version of retrolambda gradle plugin
v2.5.0
. You can simply try to run it to reproduce the issue.Thinking it's rather retrolambda than plugin issue, I'm addressing it to this github project.
Steps to reproduce
When I change to anonymous class version:
everything works fine on every version of Android platform.
I'm building by gradle & jvm 8:
It is somehow related to ART introduced in Android 5.0? Any plans to fix that? Maybe it's worh mentioning in README as a known limitation?
Thanks in advance for any response
The text was updated successfully, but these errors were encountered: