ProGuard-Android и сервер лицензирования
Защита приложений Android LVL Securing Android LVL Applications становится ясно, что разработчики Android должны использовать такой инструмент, как get Proguard для того, чтобы помочь защитить их приложения при использовании сервера лицензий. Конечно, возникает ещё один вопрос. Как следует интегрировать такие инструменты с Android в процессе сборки?
Прежде чем Вы начнете
Вы должны работать под управлением последней версии Android SDK Tools (по крайней мере v7). Новые правила построения Ant файлов входят в V7 содержат последовательность шагов, для поддержки созданных пользователем до и после компиляции для того, чтобы сделать его проще и можно было интегрировать такие инструменты, как ProGuard в Android построитель. Также объединяет один файл правил для строительства против всех версий Android SDK.
Добавление Оптимизация Шаг к build.xml
Во-первых, если вы еще не имеете его,вы получите ProGuard .
Если вы использовали Eclipse, чтобы сделать ваше приложение, вам придется перейти на использование командной строки. Android строитель выполнен с использованием Apache Ant. Версия Ant вместе с Eclipse, но я рекомендую установить свою собственную версию.
Android SDK может создать вам стартовый файл build.xml. Вот как это делается:
Android проект обновления — путь / MyAndroidAppProject.
Если все работает хорошо, вы будете иметь новый файл build.xml. Давайте попробуем сделать сборку.
Ant релиз
Вы должны в конечном итоге с неподписанных построения релиза. Инструменты командной строки можно также подписать построить для вас. Вы заметите, что Android инструмент, созданный local.properties файл в каталоге. Он будет содержать sdk.dir собственности. Вы можете сделать его куда вы подписали строить, добавив местоположение вашего хранилища и псевдоним для этого файла.
key.store = / путь / к / моя / хранилище / MyKeystore.ks
key.alias = myalias
Таким образом, теперь у вас есть подписанный строитель из командной строки, но до сих пор не затемненный построитель. Чтобы это сделать легко, если вы собираетесь получить два вспомогательных файлы: Дополнения add-proguard-release.xml
Скопируйте эти файлы в корневой каталог (где находится файл build.xml ). Чтобы добавить ProGuard к вашей сборке, необходимо сначала изменить локальные свойства файла добавить расположение каталога, который ProGuard установлен в:
proguard.dir = / Каталог / ProGuard / Is / установлен / В
И наконец … Вам нужно добавить наш сценарий для сборки файла и его переопределять несколько целей. Для этого мы используем XML «лица» построить. В верхней части файла build.xml, добавить лица, ссылающегося сценарий нашего файла:
<? XML версии = «1,0» кодировка = «UTF-8»?>
<! [DOCTYPE проекта
<! ENTITY дополнения ProGuard-релиз СИСТЕМА «Дополнения ProGuard-release.xml»>
]>
Вы еще не закончили. Где-то в рамках проекта есть теги ,в них нужно добавить ссылку на включение вашего сценария.
<project name=»MyProjectName» default=»help»>
И добавить-ProGuard-релиз;
Вот и все! Во многих случаях этого достаточно.
Ant релиз
Теперь проверьте и убедитесь, что он ничего не нарушил.Но подождите, приложение может сейчас рухнуть.Большинство аварий происходит потому,что ProGuard не видит ваше приложение потребностей, таких, как класс, на который ссылается в AndroidManifest или внутри макета, или, может быть то, что называется JNI или отражения. Конфигурация ProGuard представленная здесь пытается избежать запутывания в большинстве из этих случаев, но это еще возможно,в крайних случаях вы в конечном итоге увидите, что-то вроде ClassNotFoundException.
Вы можете внести изменения в файл классов procfg.txt,которые были невидимы. Добавление:
-Поддержание общественного класса * [мое имя класса] должны помочь. Для получения дополнительной информации о том, как предотвратить ProGuard от запутывания конкретных вещей, см. руководство Proguard manual . В частности, сохранить раздел. В интересах безопасности, стараются держать все ваши приложения unobfuscated насколько это возможно.
Стандартные настройки, предоставленные в procfg.txt будут хороши для многих приложений,но они отнюдь не являются исчерпывающими. Одна из вещей, которые мы сделали, было ProGuard создать кучу выходных файлов в каталоге OBF, чтобы помочь вам в отладке этих проблем.
Mapping.txt файл объясняет, какие классы были запутаны. Вы хотите убедиться, что как только вы подали ваше творение на рынок, что вам это нужно, чтобы расшифровать ваш стека следов.
Заключение
Такие инструменты, как ProGuard сделают код вашего приложения понятным, и сделает ваше приложение немного меньше и более эффективным в то же время, его стоимость делает его немного более сложным для отладки проблем.Для многих приложений, выбор можно сделать на ProGuard.