Я написал весь раздел в README в sbt-сборке на excluding JARs and files.
Когда вы говорите:
Как я только добавить необходимые зависимости в моей библиотеке банку?
Слово «зависимости» в контексте sbt-assembly
обычно означает зависимые баночки. Проблема в уровне банки, вам нужны все они. Вам нужно найти *.class
файлы, которые не используются, и исключить это из финальной толстой банки. sbt-assembly
имеет стратегию слияния, которую вы можете использовать для игнорирования файлов.
Для разработки Android, так как существует так много файлов для исключения, вам потребуется что-то, что делает анализ автоматически. Вот где ProGuard. Это приведет к значительному уменьшению размера банок. Но это также немного вуду, поскольку вы, возможно, не сможете узнать, нужен ли вам определенный класс или нет. Попробуйте pfn/android-sdk-plugin, если вы еще этого не сделали. Он кэширует результат ProGuard и делает его намного быстрее.
thx для ответа, я попробую еще одна проблема заключается в том, что, используя сборку sbt, она добавляет в мою жирную jar все зависимости и еще одну библиотеку scala, я видел много примеров, чтобы исключить добавление scala в jar но никто не помогает мне, кто может объяснить мне, как это сделать. – iCaesar
исключая scala lib из нашей толстой банки, дает плохие результаты, поэтому теперь я пытаюсь настроить и использовать ProGuard – iCaesar