RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.
ProGuard rules for RxJava
All unused classes and methods removed in the shrinking phase. In the obfuscation step, ProGuard renames classes and class members that are not entry points.. Use the next rules in your proguard-rules.pro configuration file.
-dontwarn sun.misc.** -keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* { long producerIndex; long consumerIndex; } -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef { rx.internal.util.atomic.LinkedQueueNode producerNode; } -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef { rx.internal.util.atomic.LinkedQueueNode consumerNode; } -dontnote rx.internal.util.PlatformDependent
For more information about RxJava please see the website.