Desugaring - Java 8 Stream API с вылетом Proguard в окончательной версии
Приложение вылетает только в своей окончательной версии с отключением Java 8 для Android.
compileOptions {
// Flag to enable support for the new language APIs
coreLibraryDesugaringEnabled true
// Sets Java compatibility to Java 8
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
Это то, что мы пробовали, но не сработало.
-keep class java.util.stream.** { *; }
В примере кода просто используется фильтр
List<MovieModel> = someList.stream().filter(it -> !it.getImdbId().equalsIgnoreCase(model.getImdbId())).collect(Collectors.toList())
Ошибка:
java.lang.ClassCastException: j$.util.stream.p cannot be cast to j$.wrappers.p
1 ответ
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.2.2'
tools:desugar_jdk_libs
следует обновить до 1.1.5 или выше.
https://developer.android.com/studio/write/java8-support.html