В чем разница между -keep и -keepclassmembers в ProGuard? - программирование
Подтвердить что ты не робот

В чем разница между -keep и -keepclassmembers в ProGuard?

Я прочитал http://proguard.sourceforge.net/index.html#manual/usage.html, но не могу получить их отличий.

Я тестировал 2 варианта и декомпилировал результат. Оба, кажется, дают тот же результат.

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

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

Ответ 1

Первый (-keep) будет содержать классы и члены класса, которые реализуют android.os.Parcelable из удаления или переименования.

Последний (-keepclassmembers) будет содержать только членов класса классов, которые реализуют android.os.Parcelable из удаления или переименования.