jjzjj

keepclassmembers

全部标签

Android 架构组件 - ViewModel Observable & Proguard

我无法让ViewModel组件与Proguard一起工作。我已经必须添加以下内容以防止由于NoSuchMethodException导致崩溃:init()-keepclasscom....SlideshowViewModel{*;}但是,我在Activity中的观察者没有收到任何数据。这在我启用Proguard之前工作正常,所以我知道Proguard是原因,我只是不知道为什么(这里是新手Proguardian)。我需要添加什么规则才能使observables正常工作?我的ViewModel(Kotlin)中有以下内容valcurrentItem=MediatorLiveData()..

android - Proguard 规则 -keep vs -keepclassmembers vs -keepclasseswithmembers

阅读proguardrules我发现自己面临三个看起来非常相似的术语保持keepclassmemberskeepclasswithmembers我不明白这三个规则之间的区别,谁能更好地解释一下区别,也许还有一个例子 最佳答案 1)keep-保留类2)keepclassmembers-保留类成员,例如字段和方法3)keepclasseswithmembers-如果类满足基于成员的某些条件,则保留类示例1)保留所有扩展android.app.Activity的类-keeppublicclass*extendsandroid.app.Ac

android - ProGuard 中的 -keep 和 -keepclassmembers 有什么区别?

我通读了http://proguard.sourceforge.net/index.html#manual/usage.html但无法理解它们的差异。我用2个不同的选项进行了测试并反编译了结果。两者似乎产生相同的结果。-keepclass*implementsandroid.os.Parcelable{*;}-keepclassmembersclass*implementsandroid.os.Parcelable{*;} 最佳答案 第一个(-keep)将防止实现android.os.Parcelable的类和类成员被删除或重命名。