Как приложения scala для Android могут быть уменьшены в размере файла?

Я пытаюсь написать приложения для Android с помощью Scala в Eclipse. Проблема, с которой я сталкиваюсь, заключается в том, что развернутый файл APK слишком велик – поскольку вы не можете связать приложения Android с внешними библиотеками, любой использованный код необходимо скопировать в файл APK, но большинство приложений Scala не нужно Большая часть библиотеки Scala. Где-то я читал, что даже большое приложение может быть упаковано только с 50 КБ или около того из библиотеки Scala, по сравнению с 4 Мб, которое мое устройство Android сообщает мне, что мое тестовое приложение занято.

Я уже пробовал плагин Treeshaker для Eclipse, и я вижу в окне прогресса, в котором он работает, но он ничего не делает. Разрушение его из моего проекта не влияет на окончательный размер файла. Я также пытался настроить Proguard самостоятельно, но я не могу найти конфигурацию, которая не влияет ни на размер файла (и я понимаю, что Proguard работает только при использовании мастера экспорта Eclipse, который я использовал для проверки) или сбой С загадочными сообщениями об ошибках, такими как «1». (Хорошо, хорошо, все сообщение об ошибке «Конверсия в формат Dalvik не сработала с кодом ошибки 1», что вряд ли поможет, потому что я не могу найти четкую документацию об этом сообщении об ошибке, и он не говорит мне, какая часть Мой код или конфигурация вызывает проблему …)

Так. Любое понимание того, как я могу заставить это работать?

Большинство людей используют SBT с ProGuard (насколько я знаю, он запускается автоматически с помощью плагина sbt android ).

Кроме того, есть возможность отправить два файла dex в apk . Это также решает многие проблемы, поскольку большинство ограничений применяются к файлам dex, а не к окончательному apk.

Это старше, но имеет много полезной общей информации: http://lamp.epfl.ch/~michelou/android/

Я использую AndroidProguardScala, как указано здесь:

https://stackoverflow.com/a/11084146/1287856

Он использует Proguard при экспорте приложения, и он работает очень хорошо.

Intereting Posts
Как надуть Android NavigationView с другим меню динамически во время onClick? Отключить элементы списка с помощью селектора и isEnabled () Цепочка привязки для пути сертификата не найдена при использовании более 3 г, но отлично работает через WiFi Android: ScrollView и кэш чертежей? Как предупредить пользователя с помощью Toast, что запрос OkHttp возвратил что-то отличное от 200? OkHttpClient «открытый» метод отсутствует в версии 2.0 Хранение, общее для всех пользователей в android 4.2 Lint not failing builds Kotlin apply () расширение lint сообщение в Android Studio 3.0-alpha8 Android Radial / Pie Menu FragmentManager уже выполняет транзакции после использования метода setOffscreenPageLimit () АБР не отвечает. Вы можете подождать больше или убить «adb.exe» … windows 8 Запрос MediaStore: объединение миниатюр и изображений (по идентификатору) Как получить все изображения и фотографии с моего устройства Android от sdcard? Ошибка в YouTubePlayerView XML