Я пытаюсь понять это, но я просто не понимаю, почему это происходит: Согласно файл proguard.cfg по умолчанию, я определяю следующее правило:
-keep public class * extends android.app.Activity
, насколько я понимаю, это означает: оставьте любой класс Activity
в качестве точки входа, но не стесняйтесь сжимать / скрывать / оптимизировать что-либо внутри него (в противном случае мне пришлось бы использовать, например,
подстановочный знак для сохранения методов, верно?).
Теперь мое тестовое действие выглядит так:
public class MyActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
...
}
public void unusedMethod() {
}
}
Если я теперь экспортирую подписанный APK и вызывается ProGuard, он удалит unusedMethod
, как и ожидалось, но он сохранит метод onCreate
и не будет скрывать его имя. Почему?