Невозможно отобразить растровые плитки на устройстве только из информации, содержащейся в файле данных mbtiles.
Что такое файл mbtiles?
Файл mbtiles - это просто база данных SQLite, которая содержит очень небольшое количество метаданных и отрисованных растровых изображений - плиток. Это те же самые растровые файлы, которые вы бы обслуживали в режиме онлайн с вашего сервера openmaptiles.
Размер файла mbtiles в зависимости от размера плитки
Размер файла MBtiles должен быть почти таким же, как общий размер всех сгенерированных файлов на вашем сервере mbtiles (это одинаковое количество плиток на каждом уровне масштабирования и одинаковое количество пикселей в каждой плитке). Если вы видите существенную разницу, это может означать, что ваш файл mbtiles не содержит такой же диапазон масштабирования (например, он не содержит этих наиболее подробных уровней масштабирования) или содержит меньшую область. Некоторое различие может быть также вызвано алгоритмом сжатия содержащихся растровых изображений, и здесь фактическая стилизация плиток может играть определенную роль (некоторые растровые изображения могут быть проще сжать, в результате чего PNG может быть меньше.
Также возможно, что файл mbtiles на самом деле содержит другой формат изображения (jpeg).
Если вы хотите узнать, что на самом деле содержится в загруженном файле mbtiles, попробуйте этот инструмент .
Решение
Я не думаю, что есть решение, когда вам нужно использовать растровые плитки. Вам нужно либо сгенерировать их на сервере и загрузить их по сети, либо вам нужно предварительно отрендерить их, упаковать в файл mbtile и каким-то образом загрузить его на устройство.
Одним из возможных решений было бы использование векторных карт. Фактически возможно генерировать векторные листы из данных Openstreetmap. Такие листы затем отображаются на устройстве, и их также можно стилизовать на устройстве.
К сожалению, библиотека Osmdroid не поддерживает векторные плитки на момент написания (AFAIK). Вы должны будете выбрать другую библиотеку рендеринга карты.