LINUX.ORG.RU

Как правильно дробить андроид приложение на опциональные модули?

 


0

1

Сейчас получается, что я сую в приложение кучу всякого мусора. Китайский SDK для RFID-сканера, Zebra SDK для принтера. В итоге ради того, чтобы работала одна кнопочка, приложение пухнет на десяток jar-ок и несколько мегабайтов, ещё и на других платформах запускается с костылями. Тот же proguard нифига не работает, я уж не стал разбираться почему, он мне там простыню выстлал под сотню строк ошибок.

В общем хочется модульности. Чтобы был основной проект и в каком-то виде его компоненты. Если у человека зебровский принтер - ставит компоненту.

По каким словам гуглить такие техники? Вообще на практике я, как юзер, такого пока не видел. Я предполагаю, что мне надо делать отдельные apk, которые будут содержать в себе сервисы специально для моего приложения, а приложение потом будет взаимодействовать с этими сервисами, правильно?

★★★★★

Последнее исправление: Legioner (всего исправлений: 1)

Dynamic Delivery

Можно разбить приложение на разные библиотеки, например если юзеру нужно будет поддержка принтера/сканера то можно просто указать чтобы эта часть приложения была подгружена когда будет нужна. Собственно вот ссылка на доки гугловские - https://developer.android.com/studio/projects/dynamic-delivery

и конечно есть новая фишка от гугла https://developer.android.com/platform/technology/app-bundle/ которая позволять раскидать ресурсы так что телефон с высоким разрешением будет получать только ресурсы для такого телефона, и т.д.

На счет ProGuard, можно попробовать включить поддержку R8 https://www.guardsquare.com/en/blog/proguard-and-r8

arubin
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.