Mam wiele klas w mojej aplikacji, które zapewniają metody public static void main(String[] args)
. Te metody są wymagane tylko podczas programowania/testowania i chciałbym, aby ProGuard je usunął (ale tylko te metody, a nie całe otaczające klasy). Próbowałem użyć -assumenosideeffects
, ale to tylko wydaje się wpływać na wywołania metod, a nie na same metody. Jak zmusić Proguard do usunięcia wszystkich metod main()
pomimo, że są one public
i static
?Jak zmusić ProGuard do usunięcia publicznej metody statycznej?
6
A
Odpowiedz
0
ProGuard potrzebuje nasion, aby określić, które klasy/metody należy zachować. Wszelkie odniesienia do tych nasion również zostaną zachowane.
Opcja -assumenosideeffects
służy do usuwania rzeczywistych wywołań metod, których wynik nie jest w żaden sposób używany, ale niekoniecznie oznacza, że sama metoda została usunięta.
W twoim konkretnym przypadku prawdopodobnie masz regułę, która zachowuje wszystkie metody public static void main(String[])
, ponieważ byłaby to standardowa podstawa dla aplikacji java.
Możesz analizować przyczynę utrzymania określonej metody/klasy za pomocą opcji -whyareyoukeeping
.
Powiązane problemy
- 1. Nie można użyć publicznej metody statycznej?
- 2. Uzyskiwanie dostępu do publicznej statycznej metody java ze scala
- 3. C++ Dostęp do prywatnego statycznego elementu z publicznej statycznej metody?
- 4. Jak zmusić dziecko klasy abstrakcyjnej do wdrożenia metody statycznej?
- 5. Jak zmusić PhpMyAdmina do usunięcia/skracania bez pytania o potwierdzenie?
- 6. Wywołanie publicznej, statycznej funkcji w abstrakcyjnej klasie
- 7. Jak korzystać getMethod do statycznej metody wydłużania
- 8. Jak wywołać metody statycznej PowerShell
- 9. Uzyskiwanie MethodInfo statycznej metody klasy statycznej
- 10. Metody rozszerzeń klasy statycznej?
- 11. Dynamiczne wywołanie metody statycznej w PHP?
- 12. TypeScript: dostęp do statycznej metody klasy
- 13. kolejność wykonywania metody statycznej
- 14. Wprowadzenie bieżącego typu do statycznej, ogólnej metody?
- 15. Nie znaleziono publicznej metody działania ".." na kontrolerze ".."
- 16. Włącza proguard tylko w celu usunięcia nieużywanego kodu
- 17. Uzyskanie dostępu z metody statycznej
- 18. Jak wymusić typ zwrotny metody statycznej?
- 19. Dodawanie metody statycznej IronPython zakresie
- 20. Jak zapewnić bezpieczeństwo wątku użytecznej metody statycznej?
- 21. Jak Ci atrapa obiektu w statycznej metody
- 22. Lepszy sposób definiowania metody statycznej
- 23. Implementacja metody statycznej w VB.NET
- 24. Jak zmusić kompilator Monotouch AOT do wyświetlenia zagnieżdżonej metody generycznej?
- 25. Jak zmusić podklasę do wywołania abstrakcyjnie zaimplementowanej metody
- 26. Jak zmusić AutoMapera do wywołania metody po mapowaniu ViewModel
- 27. Jak można drwić z tej metody statycznej
- 28. Wywołanie połączenia() z metody statycznej
- 29. Jak uzyskać dostęp do metody statycznej w języku C#?
- 30. Jak korzystać z metody call_user_func dla metody klasy statycznej?
nie ma optymalizacji, która usuwa już nieużywane metody? –
Oczywiście po włączeniu opcji skasowania nieużywanego kodu zostaną usunięte. Chodzi o to, że nie można na pewno stwierdzić, czy metoda "public static" jest nieużywana, ponieważ może być używana spoza kodu. Dlatego muszę jakoś wymusić usunięcie. – sschuberth
Uważam, że to, co daje ci proguard, to możliwość wykluczania funkcji i klas z możliwości ich modyfikowania, więc czy nie możesz użyć funkcji, których nie chcesz dotykać? –