Khi tôi sử dụng biểu thức lambda trong Mô-đun thư viện Android, tôi nhận được ngoại lệ trình biên dịch com.sun.tools.javac.code.Symbol$CompletionFailure: class file for java.lang.invoke.MethodType not found
.Lambda gây ra ngoại lệ trình biên dịch trong Mô-đun thư viện Android
Biểu thức Lambda đang biên dịch không có lỗi khi được sử dụng trong mô-đun ứng dụng Android.
Một dự án mẫu để chứng minh vấn đề có thể được tìm thấy ở đây:
https://github.com/adamdye/AndroidLambdaIssue
Các lớp thú vị trong ví dụ này là MyLibrary.java và MainActivity.java. Mỗi lớp chứa các biểu thức giống nhau.
Cài đặt
Android Studio 2.2 preview 1
min/target SDK version = android-N
build tools version = 24.0.0.rc4
jack compiler enabled
source/target compatibility = 1.8
Gradle version = 2.10
Android Plugin Version = 2.2.0-alpha1
JDK = java 8
Tôi không quan tâm đến việc sử dụng retro-lambda. Tôi muốn làm việc này thông qua cấu hình thích hợp. Tôi cho rằng tôi đang bỏ lỡ một bước nào đó.
Liên kết [link] này (http s: //github.com/evant/gradle-retrolambda). Điều này có thể giúp bạn .. – Sabari