2016-06-07 3 views
6

У меня есть специальный случай, когда мне нужно удалить Activity, который не используется в самом коде, а не ссылки в манифесте. Другими словами, это мертвый код, который не обфускается, поэтому я хочу избавиться от него.Удалить активность из apk через Proguard

Нормальные ограничения сохраняют классы, которые расширяют Activity, что в целом нормально, но это держит этот мертвый код.

Как я могу исключить из этого специального Activity?

+0

Вы удалили мероприятие из файла AndroidManifest? – Vyacheslav

+0

@ Вячеслав да, он удален из манифеста, как упоминалось в вопросе. – rekire

+0

Какие методы отображаются внутри Activity, если вы открываете свои классы в jar-reader? – Vyacheslav

ответ

0

Процесс aapt создаст правила ProGuard, которые будут автоматически добавлены и будут содержать все ссылочные классы в файлах ресурсов.

Правила создаются в следующем каталоге:

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

Правила в этом файле также ссылки на источник:

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

В этом примере класс com.example.HelloWorldActivity упоминается в AndroidManifest.xml.

Смежные вопросы