¿Es posible usar la API de Java 8 Stream en la API de Android <24?

He leído esta publicación aquí. Pero aún así no puedo ejecutar código que contenga características de Java 8 Stream API como las siguientes en minSdkVersion <24.

List<Car> newCars = cars.stream() .filter(s -> s.getColor().equals("red")) .collect(Collectors.toList()); 

Esto no se ejecuta debido al mensaje de error

La llamada requiere el nivel 24 de la API (el min actual es 15): java.util.Collection # stream

¿Así que alguien conoce una solución?

No se pueden usar flujos Java8 en el nivel API <24.

Sin embargo, hay algunas bibliotecas que backport alguna de la funcionalidad de flujo

https://github.com/aNNiMON/Lightweight-Stream-API

https://github.com/konmik/solid

https://sourceforge.net/projects/streamsupport/ (mencionado por @sartorius en el comentario)

  • ¿Hay manera de utilizar las características de Java 8 con el proyecto de la biblioteca de Android?
  • Gradle + Retrolambda: Fatal Error: No se puede encontrar el paquete java.lang en classpath o bootclasspath
  • Dx no admitido archivo de clase versión 52.0 ... al analizar com / ejemplo / test1 / BuildConfig.class
  • ¿Cómo puedo suprimir nuevo anónimo runnable () se puede sustituir por lambda
  • La ubicación de Android Studio JDK cambia de nuevo a 1.7 cada vez que se actualiza a la ruta 1.8
  • Android Studio: lambda no funciona
  • Gradle con java 8 para retrolambda - Android no puede encontrar anotaciones TargetApi
  • Java.lang.NoSuchMethodError: Ningún método virtual keySet ()
  • La biblioteca de Android no funciona con Java 8
  • Maven: Uso de bibliotecas Java 8 en aplicaciones instrumentadas con retrolambda-maven-plugin y DEX-ed con android-maven-plugin
  • CompletableFuture en la Biblioteca de soporte de Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.