RxAndroid v1.1.0ライブラリで動作するProguardを取得できないようです。ProguardとRxAndroid V1.1.0
以前私はv1.0.1を使用していましたが、これは次のルールでうまくいきました。私は私のコードでRxAndroidを使用するとき
-dontwarn rx.internal.util.unsafe.**
しかしrxAndroidのV1.1.0にアップグレードしても、それはGitHubののReadMe.txtに言うようRxJavaを含めた後、私はこの例外を取得します。
Caused by: java.lang.NoSuchFieldException: producerIndex
だから私はGithubに関するいくつかの問題報告で人々が言ったように、Proguardのルールを追加しました。
-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.**
これは機能しません。リリースビルドを生成すると、クラッシュすることがあります。私は最新の図書館を使いたいと思っています。
参照アルテムのルールセットを試してみてください:https://github.com/artem-zinnatullin/RxJavaProGuardRules – akarnokd