Kiedy używam wyrażenia lambda w module biblioteki Androida, otrzymuję wyjątek kompilatora com.sun.tools.javac.code.Symbol$CompletionFailure: class file for java.lang.invoke.MethodType not found
.Lambda powoduje wyjątek od kompilatora w bibliotece Android Moduł
Wyrażenia lambdy kompilują się bezbłędnie, gdy są używane w module aplikacji Android.
przykładowy projekt wykazać problemu można znaleźć tutaj:
https://github.com/adamdye/AndroidLambdaIssue
Ciekawe zajęcia w przykładzie są MyLibrary.java i MainActivity.java. Każda klasa zawiera identyczne wyrażenia.
Konfiguracja
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
Nie jestem zainteresowany wykorzystaniem retro-lambda. Chciałbym, żeby to działało przez odpowiednią konfigurację. Zakładam, że gdzieś brakuje mi jakiegoś kroku.
Odsyłacz do tego [link] (http s: //github.com/evant/gradle-retrolambda). To może ci pomóc .. – Sabari