gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:12:12 42 4
gpt4 key购买 nike

阅读 proguard rules

我发现自己面临三个看起来非常相似的术语保持 keepclassmembers keepclasswithmembers

我不明白这三个规则之间的区别,谁能更好地解释一下区别,也许还有一个例子

最佳答案

1) keep - 保留类

2) keepclassmembers - 保留类成员,例如字段和方法

3) keepclasseswithmembers - 如果类满足基于成员的某些条件,则保留类

示例

1) 保留所有扩展 android.app.Activity 的类

-keep public class * extends android.app.Activity

2) 如果他们正在实现 android.os.Parcelable,则保留所有名为 CREATOR 的成员(静态字段)

-keepclassmembers class * implements android.os.Parcelable { 
static ** CREATOR;
}

3) 保留所有类,如果它们有带有参数(上下文,属性集)或(上下文,属性集,整数)的构造函数(下面提到的初始化)。

-keepclasseswithmembers class * { 
public <init>(android.content.Context, android.util.AttributeSet);
}

-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}

关于android - Proguard 规则 -keep vs -keepclassmembers vs -keepclasseswithmembers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46855454/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com