Почему ProGuard сохраняет метод onCreate ()?

Я пытаюсь понять это, но я просто не понимаю, почему это происходит: Согласно файл 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 и не будет скрывать его имя. Почему?

6
задан Matthias 8 May 2011 в 09:45
поделиться