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

Другие вопросы по тегам