2016-04-12 1 views
0

Я использую Proguard и в моем приложении я использую этот кодProGuard Еще Отображает полную активность Имя

  System.out.println("ACTIVITY NAME IS " + activity.getLocalClassName()); 

Он печатает имя активность вне, ИИН режиме выпуска. Я думал, что это должно запутать все имена классов?

Это обычное поведение?

+0

Что случилось с проблемой? –

+0

Возможный дубликат [Почему Proguard сохраняет класс активности в Android?] (Http://stackoverflow.com/questions/20619955/why-proguard-keeps-activity-class-in-android) –

ответ

2

Да, это нормальное поведение. Имена операций никогда не запутываются, потому что они указаны в manifest.xml. и андроид доступ к этим действиям через отражение, чтобы их имена не могли быть изменены. проверьте эту ссылку https://stackoverflow.com/a/20620108/1320616

+0

О, спасибо, есть способ проверить, был ли код успешно запутан? – JayVDiyk

+0

Я использую, чтобы проверить это, используя онлайн-декомпиляторы, например http://www.decompileandroid.com/, загрузите apk и верните декомпилированную папку. Там можно проверить, запущен ли код или нет. –

+0

Вы также можете использовать опцию Analyze APK в Android Studio, чтобы узнать, можете ли вы выполнить код после генерации apk. – Atmaram