【问题标题】:What is the difference between -keep and -keepclassmembers in ProGuard?ProGuard 中的 -keep 和 -keepclassmembers 有什么区别?
【发布时间】:2013-05-05 00:02:23
【问题描述】:

我通读了http://proguard.sourceforge.net/index.html#manual/usage.html,但无法理解它们的区别。

我用 2 个不同的选项进行了测试并反编译了结果。两者似乎产生相同的结果。

-keep class * implements android.os.Parcelable {
    *;
}

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

【问题讨论】:

    标签: android proguard


    【解决方案1】:

    第一个 (-keep) 将防止实现android.os.Parcelable 类和类成员被删除或重命名。

    后者 (-keepclassmembers) 将保留实现android.os.Parcelable 的类的类成员不会被删除或重命名。

    【讨论】:

    • 你能澄清一下“被删除或重命名”吗?
    • 收缩和混淆是 Proguard 的核心功能之一。 缩小(删除)混淆(重命名)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-18
    • 2019-09-08
    • 2016-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多