2016-06-07 8 views
6

Mam specjalny przypadek, w którym muszę usunąć Activity, który nie jest używany w samym kodzie, a nie odwołania w Manifeście. Innymi słowy, jest to martwy kod, który nie jest zaciemniany, więc chcę się go pozbyć.Usuń aktywność z apk poprzez Proguard

Normalne ograniczenia zachowują klasy, które rozciągają się na Activity, co jest w porządku, ale zachowuje ten martwy kod.

Jak mogę wykluczyć zachowanie tego specjalnego Activity?

+0

Czy usunąłeś aktywność z pliku AndroidManifest? – Vyacheslav

+0

@yacheslav yes to jest usunięte z manifestu jak wspomniano w pytaniu. – rekire

+0

jakie metody są wyświetlane wewnątrz działania, jeśli otworzysz klasy w czytniku jar? – Vyacheslav

Odpowiedz

0

Proces zaawansowany wygeneruje reguły ProGuard, które będą automatycznie dołączane i będą zawierały odwołania do klas w plikach zasobów.

Zasady są tworzone w następującym katalogu:

build/intermediates/proguard-rules/<variant>/aapt_rules.txt 

Przepisy w tym pliku odwoływać także pochodzenie:

# view AndroidManifest.xml #generated:14 
-keep class com.example.HelloWorldActivity { <init>(...); } 

W tym przykładzie, klasa com.example.HelloWorldActivity jest wymieniony w AndroidManifest.xml.

Powiązane problemy