Клуб API Карт

Динамическая подгрузка библиотеки Yandex Map Kit на Android

Пост в архиве.

Может быть, пришел не по адресу, но соответствующего клуба для мобильных разработчиков, использующих Yandex Map не нашел. Так что задам вопрос здесь. Если же кто-то меня направит на правильный ресурс для обсуждения затронутых вопросов - тоже хорошо.

Итак, по долгу службы я разрабатываю Android-приложение для водителей, работающих с единой службой заказа такси, которую наша фирма хочет открыть. Основное предназначение программы - работа с заказами, поступающими из системы. Вместе с шефом мы решили сделать приложение самообновляемым, чтобы не было необходимости жесткой увязки с Google Play или необходимости клиенту самому закачивать и устанавливать обновления. apk, который устанавливается, как обычная Android-программа, - это всего лишь загрузчик, который синхронизирует с сервером динамически подгружаемые модули кода и ресурсов и производит запуск уже непосредственной программы. В том числе загрузчик может обновлять с сервера и сам себя (разумеется, тут уже требуется подверждение пользователя, так как производится установка нового apk).

Пока что особых проблем в такой схеме не было. Но планируется использовать карты, возможно, с выбором из нескольких реализаций, для прокладки маршрута по взятому водителем заказу (если он вызовет эту функцию). Я решил начать с подключения Yandex Map Kit. Очевидно, с самой библиотекой jar проблем возникнуть не должно - я ее перепакую и смогу загружать динамически как еще один из модулей кода. Ресурсы можно включить в общую сборку ресурсов, которая тоже подгружается динамически. Но основная проблема мне видится в подгрузке нативного кода libcache.so, что выполняется при первом использовании библиотеки. Не хотелось бы этот libcache.so в обоих видах включать в загрузчик (это почти 150 Кб), хотелось бы тоже в каком-нибудь виде синхронизировать с сервером отдельно, так как судя по последней динамике проекта Yandex Map Kit для Android на GitHub, обновления этой библиотеки придется производить очень редко, так зачем довешивать этим пока что легковесные модули, которые будут обновляться куда чаще. Есть ли какой-нибудь способ подменить для приложения Android стандартную диспозицию библиотечного кода .so?

И еще один вопрос в догонку. Судя по папкам для libcache.so, Yandex Map Kit будет работать только на ARM-процессорах? Почему не найти информации по "зоне охвата" устройств Android для этой библиотеки?

9 комментариев
Комментарий удалён

Это спам?

Алексей Yarrr!
28 января 2016, 03:42

HTTP/1.1 303 See Other

Location http://clubs.ya.ru/mobilemaps/

 

Спасибо! Не знал про этот клуб. Переощу там.

И все-таки, тот клуб по мобильным Яндекс.Картам, но не для разработчиков мобильных приложений с использованием Yandex Map Kit

Подскажите, пожалуйста, а Ваше приложение будет доступно для открытого скачивания?

Да, будет доступно любому. А почему Вы задаете этот вопрос?

Потому что Map Kit бесплатный, но есть пользовательское соглашение, по которому запрещено использовать Map Kit в платных или закрытых приложениях.

Ваш вопрос уточню.

Спасибо

   Екатерина, уточнили?