Proguard'ın RxAndroid v1.1.0 kitaplığı ile çalışmasını sağlayamıyorum.Proguard ve RxAndroid V1.1.0
Daha önce v1.0.1 kullanıyorum ve bu aşağıdaki kuralla birlikte iyi çalıştı. Benim kodunda RxAndroid her kullandığınızda
-dontwarn rx.internal.util.unsafe.**
Ancak rxAndroid ait V1.1.0 yükseltme ve ayrıca Github ReadMe.txt üzerinde söylediği gibi RxJava dahil ettikten sonra, bu özel durum olsun.
Caused by: java.lang.NoSuchFieldException: producerIndex
yüzden insanlar gibi daha Proguard kuralları Github konu raporların bazılarında söylediler ekledi.
-keep class rx.schedulers.Schedulers {
public static <methods>;
}
-keep class rx.schedulers.ImmediateScheduler {
public <methods>;
}
-keep class rx.schedulers.TestScheduler {
public <methods>;
}
-keep class rx.schedulers.Schedulers {
public static ** test();
}
-keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
long producerIndex;
long consumerIndex;
}
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
long producerNode;
long consumerNode;
}
-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;
}
-dontwarn rx.internal.util.unsafe.**
Bu işe yaramaz ve serbest bırakma yapılarını oluşturduğumda sürekli olarak çökmeleri yakalarım. En son kütüphaneleri kullanmak istediğim gibi bir fikrim var.
Bkz Artem en ruleset ile denemelisiniz: https://github.com/artem-zinnatullin/RxJavaProGuardRules – akarnokd