ProGuard сделает все за вас! Правильно настроенный и с некоторыми начальными правилами, он будет принимать файлы JAR во входном каталоге и выводить те же самые файлы JAR в выходной каталог. Файлы классов Java, которые не нужны, не будут включены в выходные файлы jar, а если в jar нет классов, он просто удаляется. Сайт также содержит тонны примеров .
В дополнение к этому, у него есть ряд замечательных функций, которые помогут в сжатии и запутывании вашего окончательного проекта. Поначалу файлы конфигурации могут показаться немного сложными, но это окупается. В некоторых проектах у нас есть окончательные размеры архивов, которые уменьшены более чем на 1000%. Как часто вы включали библиотеку только для того, чтобы использовать часть функциональности? При правильной настройке конечный продукт будет включать только то, что нужно.