Подтвердить что ты не робот

Proguard удаляет неиспользуемый код (на Android)

Мне просто интересно, я разрабатываю библиотеку для использования с моими проектами в Android. Теперь я начинаю включать такие вещи, как apache FTP jar для поддержки некоторых отладочных файлов.

Я знаю, что не все проекты будут использовать все части библиотеки (например, какой-то проект вообще не будет загружать FTP, но хочет использовать инструменты пользовательского интерфейса из библиотеки).

Теперь у меня появилось три вопроса:

  • Защищает ли Proguard неиспользуемые источники (собственный код), например, мои классы инструментов пользовательского интерфейса, если они никогда не ссылаются на основной проект - что не используется в приложении.

  • Удаляет ли Proguard внешние библиотеки (например, apache ftp jar), если их не использовать. Если нет, я могу включить источник, если применяется параметр 1.

  • Как насчет файлов ресурсов (не действительно Proguards job, больше IntelliJ или Eclipse) - Пример: я пишу расширение карты Google, используя маркеры по умолчанию, хранящиеся в проекте библиотеки. Если мне все равно не нужны карты, делайте файлы, входящие в каждый проект android, и есть простой способ предотвратить это.

Немного больше: я стараюсь как можно дольше хранить все свои материалы в одном проекте. Я не знаю, как хорошо разделить библиотеку, поэтому я не хочу переполнять, чтобы создавать отдельные библиотеки для всего (это делалось в прошлом, и большую часть времени это было способом много модуляции)...

Спасибо за любые идеи, Крис

4b9b3361

Ответ 1

Защищает ли Proguard неиспользуемые источники

Он пытается, когда правильно настроен.

Удаляет ли Proguard внешние библиотеки (например, apache ftp jar), если их не использовать.

Он пытается, когда правильно настроен.

Как насчет файлов ресурсов (не действительно Proguards job, больше IntelliJ или Eclipse) - Пример: я пишу расширение карты Google, используя маркеры по умолчанию, хранящиеся в проекте библиотеки. Если мне все равно не нужны карты, делайте файлы, включенные в каждый проект android, и есть простой способ предотвратить это.

Нет.