Приложение для Android с большим количеством внешних библиотек и размером приложения

У меня есть приложение для Android с несколькими внешними библиотеками (также родными), и мне придется добавить еще одни. Мое приложение растет, что становится настоящей проблемой. Одна библиотека используется менее чем 5% пользователей моего приложения, поэтому я не хочу заставлять всех моих пользователей устанавливать приложение со всеми библиотеками, которые им не нужны. На самом деле большинству моих пользователей не нужна ни одна из этих библиотек.

Я думал о файлах расширения (https://developer.android.com/google/play/expansion-files.html), но, насколько я знаю, это не решает мою проблему, так как в большинстве случаев все файлы расширения все равно загружаются вместе с приложением.

Есть ли решение, которое позволяет мне загружать внешний код на ходу?

Марчин


person Marcin    schedule 09.11.2017    source источник
comment
Проверьте это: stackoverflow.com/a/6860579/2724879   -  person Yamen Nassif    schedule 09.11.2017
comment
Как вы уже сказали, вы используете собственные библиотеки, поэтому я считаю, что существует несколько версий этих библиотек, основанных на структуре процессора, таких как armbei, amrbei-v7a, я прав? и еще кое-что, вас беспокоит размер apk, верно?   -  person Mithun Sarker Shuvro    schedule 09.11.2017
comment
некоторые библиотеки родные, некоторые нет. И да - мне нужно несколько версий, основанных на архитектуре процессора   -  person Marcin    schedule 09.11.2017
comment
Технически должно работать, но как насчет правил Google? play.google.com/intl/en-GB /about/developer-content-policy-print Приложение, распространяемое через Google Play, не может изменять, заменять или обновлять себя любым способом, кроме механизма обновления Google Play. Точно так же приложение не может загружать исполняемый код (например, файлы dex, JAR, .so) из источника, отличного от Google Play. Это ограничение не распространяется на код, который выполняется на виртуальной машине и имеет ограниченный доступ к Android API (например, JavaScript в WebView или браузере).   -  person Marcin    schedule 07.12.2017