ProGuard (додаток)
Розробник | Eric P.F. Lafortune |
---|---|
Стабільний випуск | 5.3 (вересень 2016 року) |
Операційна система | Cross-platform |
Мова програмування | Java |
Стан розробки | активний |
Ліцензія | GPLv2.0 |
Репозиторій | github.com/Guardsquare/proguard |
Вебсайт | proguard.sourceforge.net/index.html |
ProGuard — утиліта командного рядка із відкритим програмним кодом, призначена для оптимізації та обфускації Java коду. Вона може здійснити оптимізацію байт-коду, а також виявлення та видалення невикористовуваних інструкцій.[1]. ProGuard — це вільне програмне забезпечення, яке розповсюджується під ліцензією GNU General Public License, версія 2[2].
ProGuard розповсюджується як частина Android SDK та запускається при компіляції додатку на стадії випуску програмного продукту (release mode)[3].
Функції[ред. | ред. код]
- Оптимізація байт-коду.
- Робота із Java Micro Edition та Android;
Обфускація[ред. | ред. код]
ProGuard здійснює обфускацію Java та Android додатків шляхом перейменування імен класів, полів та методів у «беззмістовні» імена, ускладнюючи цим зворотню розробку (reverse-engineer) додатку[4].
Оптимізація[ред. | ред. код]
Наряду із видаленням невикористовуваних команд із скомпільованого байт-коду, ProGuard здійснює його оптимізацію використовуючи такі техніки як: аналіз потоку керування, аналіз потоку даних, часткове виконанню, SSA (Static Single Assignment form), нумерація значень і аналіз часу життя даних.[4] ProGuard може видалити багато типів невикористовуваного і дуплікованого коду, виконати більше 200 peephole оптимізацій, зменшити використання змінних, рядкових констант та коротких методів, спростити хвостову рекурсію, видалити код для логування та багато іншого[4].
Див. також[ред. | ред. код]
Примітки[ред. | ред. код]
- ↑ ProGuard overview (official page). Архів оригіналу за 2 листопада 2016. Процитовано 3 листопада 2016.
- ↑ ProGuard license page. Архів оригіналу за 3 грудня 2016. Процитовано 3 листопада 2016.
- ↑ Android Developers - ProGuard. Архів оригіналу за 4 листопада 2016. Процитовано 3 листопада 2016.
- ↑ а б в ProGuard FAQ. Архів оригіналу за 28 жовтня 2016. Процитовано 3 листопада 2016.
Посилання[ред. | ред. код]
- ReTrace ProGuard Protected StackTrace Online [Архівовано 4 листопада 2016 у Wayback Machine.](англ.)
На цю статтю не посилаються інші статті Вікіпедії. Будь ласка розставте посилання відповідно до прийнятих рекомендацій. |