Ami*_*ani 3 android proguard rx-java android-proguard
我在我的应用程序中使用了这个库,该库本身使用 RxJava,它在调试 APK 中完美运行。当 Proguard 混淆被禁用时,它甚至可以在 Release 上工作。但是一旦我选择了一个图像,当我启用 Proguard 时它就会停止工作!
这是日志:
6494) 08-02 22:54:11.848: E/AndroidRuntime(17818): 在 java.lang.reflect.Method.invoke(Native Method) 08-02 22:54:11.848: E/AndroidRuntime(17818): 在 com .android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 08-02 22:54:11.848: E/AndroidRuntime(17818): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit. java:807) 08-02 22:54:11.848: E/AndroidRuntime(17818): 引起:java.lang.NoSuchFieldException: 类 Lrx/internal/util/unsafe/SpscArrayQueueProducerFields 中没有字段生产者索引;('rx.internal.util.unsafe.SpscArrayQueueProducerFields' 的声明出现在 /data/app/com.domus.safariar.domus-P04AN9pLul9iY1dryJ3vXg==/base.apk!classes3.dex) 08-02 22:548:11.8 E/AndroidRuntime(17818):在 java.lang.Class.getDeclaredField(Native Method) 08-02 22:54:11.848:E/UncaughtException(17818): at android.app.ActivityThread.main(ActivityThread.java:6494) 08-02 22:54:11.849: E/UncaughtException(17818): at java.lang.reflect.Method.invoke(Native方法) 08-02 22:54:11.849: E/UncaughtException(17818): 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 08-02 22:54:11.849: E/ UncaughtException(17818): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) 08-02 22:54:11.849: E/UncaughtException(17818): 引起:java.lang.NoSuchFieldException: No类 Lrx/internal/util/unsafe/SpscArrayQueueProducerFields 中的 field producerIndex;('rx.internal.util.unsafe.SpscArrayQueueProducerFields' 的声明出现在 /data/app/com.domus.safariar.domus-P04AN9pLul9iY1dryJ3vXg==/base.apk!classes3.dex) 08-02 22:549:11.8
我试图添加一些 Proguard 规则以避免崩溃,但它不起作用:
-keep class * {
public private *;
}
-keep class com.facebook.** { *; }
-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;
}
-keep class com.zfdang.multiple_images_selector.ImagesSelectorActivity**{*;}
-keep class com.zfdang.multiple_images_selector.ImagesSelectorActivity$**{*;}
-dontwarn com.zfdang.multiple_images_selector.ImagesSelectorActivity**{*;}
-keep com.zfdang.multiple_images_selector.ImagesSelectorActivity.LoadFolderAndImages**{*;}
-dontwarn com.zfdang.multiple_images_selector.ImagesSelectorActivity.LoadFolderAndImages**{*;}
-keep class rx.internal.operators.OperatorObserveOn**{*;}
-dontwarn rx.internal.operators.OperatorObserveOn.**
Run Code Online (Sandbox Code Playgroud)
-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
Run Code Online (Sandbox Code Playgroud)
请尝试将缺失的行添加到您的 proguard 规则中。
| 归档时间: |
|
| 查看次数: |
711 次 |
| 最近记录: |