Здравствуйте, пффф, Вы писали:
п> R>Это нативные библиотеки используемые приложением для разных процессорных архитектур.
п> Может, вопрос таки в том, почему они не нужны для APK в гугловском сторе?
Гугловский стор умеет отдавать только то, что требуется конкретному устройству. То есть, при установке приложения на arm64 ему отдадут апкшку содержащую только lib/arm64-v8a (подробности. Читать сразу "ЭТАП 4. AAB: Android балансирует"). Рустор, видимо, так не умеет.
Здравствуйте, Pavel Dvorkin, Вы писали:
R>>Гугловский стор умеет отдавать только то, что требуется конкретному устройству. То есть, при установке приложения на arm64 ему отдадут апкшку содержащую только lib/arm64-v8a (подробности. Читать сразу "ЭТАП 4. AAB: Android балансирует"). Рустор, видимо, так не умеет.
PD>В APK, скачанном с Play Market, каталога lib нет вообще
Без нативных либ приложение рабоать не будет. Магическим образом они тоже не появятся. Просто та качалка, которой ты проверял — кривая. Реальному андроиду маркет отдаёт приложение с либами для его архитектуры. Будет не 300 МБ, ни и не 20.
Попробуй через adb вытащить с телефона установленное приложение. Полагаю, что там будет с нужными либами.
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ> R>Это нативные библиотеки используемые приложением для разных процессорных архитектур.
ЕМ> Только вот чего там в каждом наборе по полсотни метров — большой вопрос.
Зависит от того, какие библиотеки используются. Одна skia для aarch64 тянет на четверть сотни
Здравствуйте, rudzuk, Вы писали:
R>Одна skia для aarch64 тянет на четверть сотни
Она, как и Qt, всегда монолитная, независимо от реально потребной функциональности?
И я ж правильно понимаю, что в андроиде нет механизма сборки этих библиотек в одну кучу, каждое приложение всегда тащит и использует полный комплект под себя?
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ> Она, как и Qt, всегда монолитная, независимо от реально потребной функциональности?
skia монолитная, а вот Qt совсем наоборот. В стареньком 2гис кутешных библиотек 8 штук, на 8 мегабайт. Библиотека непосредственно самого приложения — 17 мб.
ЕМ> И я ж правильно понимаю, что в андроиде нет механизма сборки этих библиотек в одну кучу, каждое приложение всегда тащит и использует полный комплект под себя?
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ> R>В стареньком 2гис кутешных библиотек 8 штук, на 8 мегабайт. Библиотека непосредственно самого приложения — 17 мб.
ЕМ> Так это тоже до хренища, по сравнению с его функциональностью.
А какая у него функциональность? Там библиотеки для взаимодействия с ведроидом и ядро кути тянут почти на 3 мб. Остальное это гуй, виджеты, сеть, opengl. Учитывая, что кутя это фреймворк, получается довольно скромно. Будь оно слинковано статически, думаю, было бы еще меньше. Вообще, там помимо нативных 25 мб. еще 15 мб. на ассеты, ресурсы и жабью машинерию. Ну а все содержимое апк (40 мб.) жмется до 23 мб. Не сильно много, в общем.
Здравствуйте, Pavel Dvorkin, Вы писали:
PD> Это я понимаю, вопрос в ином — зачем они тут нужны, если для Play Market они делают APK без них ?
А как скачивались апк? Смотрю, в одном из сервисов скачивания апк из плеймаркета, отдается, как раз, файл 23 мб., но это версия 3.48.1, тогда как, актуальная 4.68 в маркете и 4.69 в русторе.
Здравствуйте, rudzuk, Вы писали:
R>Здравствуйте, Pavel Dvorkin, Вы писали:
PD>> Это я понимаю, вопрос в ином — зачем они тут нужны, если для Play Market они делают APK без них ?
R>А как скачивались апк? Смотрю, в одном из сервисов скачивания апк из плеймаркета, отдается, как раз, файл 23 мб., но это версия 3.48.1, тогда как, актуальная 4.68 в маркете и 4.69 в русторе.
R>Гугловский стор умеет отдавать только то, что требуется конкретному устройству. То есть, при установке приложения на arm64 ему отдадут апкшку содержащую только lib/arm64-v8a (подробности. Читать сразу "ЭТАП 4. AAB: Android балансирует"). Рустор, видимо, так не умеет.
В APK, скачанном с Play Market, каталога lib нет вообще
Здравствуйте, vsb, Вы писали:
vsb>Мало ли что показывается. Надо на роутере трафик смотреть.
В качестве роутера у меня сейчас старый телефон с Андроид 4.x, используемый как модем. Смотреть там нечего. Но при загрузке из PM указываются те же 23 Мб.
Здравствуйте, vsb, Вы писали:
vsb>Без нативных либ приложение рабоать не будет. Магическим образом они тоже не появятся. Просто та качалка, которой ты проверял — кривая. Реальному андроиду маркет отдаёт приложение с либами для его архитектуры.
Этих либ в самом Андроиде нет ?
vsb>Попробуй через adb вытащить с телефона установленное приложение. Полагаю, что там будет с нужными либами.
ADB у меня нет и ради этого ставить не буду. Сделал проще
Удалил Мой Теле2 с телефона, взял тот APK, что мне дала качалка и установил как из неизвестного источника. Вполне успешно.
Правда, версия и впрямь старая. Обновил — теперь PM говорит, что 42 Мб
Здравствуйте, Pavel Dvorkin, Вы писали:
vsb>>Без нативных либ приложение рабоать не будет. Магическим образом они тоже не появятся. Просто та качалка, которой ты проверял — кривая. Реальному андроиду маркет отдаёт приложение с либами для его архитектуры.
PD>Этих либ в самом Андроиде нет ?
Ну я не знаю, о каких именно либах речь. Скорей всего нет. В андроиде вообще почти ничего нет. Даже что-то вроде стандартной библиотеки в приложения вкомпиливают нынче. Такой подход.
vsb>Ну я не знаю, о каких именно либах речь. Скорей всего нет. В андроиде вообще почти ничего нет. Даже что-то вроде стандартной библиотеки в приложения вкомпиливают нынче. Такой подход.
Здравствуйте, Pavel Dvorkin, Вы писали:
vsb>>Ну я не знаю, о каких именно либах речь. Скорей всего нет. В андроиде вообще почти ничего нет. Даже что-то вроде стандартной библиотеки в приложения вкомпиливают нынче. Такой подход.
PD> libc++_shared.so PD>libfabricjni.so libfb.so PD>libfbjni.so libfolly_runtime.so PD>libglog.so libglog_init.so PD>libhermes-executor-release.so libhermes.so PD>libimagepipeline.so libjsc.so PD>libjscexecutor.so libjsi.so PD>libjsijniprofiler.so libjsinspector.so PD>liblogger.so libmapbufferjni.so PD>libmaps-mobile.so libnative-filters.so PD>libnative-imagetranscoder.so libreactnativeblob.so PD>libreactnativejni.so libreactperfloggerjni.so PD>libreact_codegen_rncore.so libreact_config.so PD>libreact_debug.so libreact_nativemodule_core.so PD>libreact_render_animations.so libreact_render_attributedstring.so PD>libreact_render_componentregistry.so libreact_render_core.so PD>libreact_render_debug.so libreact_render_graphics.so PD>libreact_render_imagemanager.so libreact_render_leakchecker.so PD>libreact_render_mapbuffer.so libreact_render_mounting.so PD>libreact_render_runtimescheduler.so libreact_render_scheduler.so PD>libreact_render_telemetry.so libreact_render_templateprocessor.so PD>libreact_render_textlayoutmanager.so libreact_render_uimanager.so PD>libreact_utils.so libreanimated.so PD>librrc_image.so librrc_root.so PD>librrc_scrollview.so librrc_text.so PD>librrc_textinput.so librrc_unimplementedview.so PD>librrc_view.so libruntimeexecutor.so PD>libsqlcipher.so libturbomodulejsijni.so PD>libyoga.so
React Native в андроиде не поставляется. Это приложение написано на этом фреймворке и работать без него не будет.
ЕМ>Так это тоже до хренища, по сравнению с его функциональностью.
Мне, где-то в 2007-2008-м, удавалось утоптать тогдашнюю приложушку, над которой я работал, в 2 с небольшим мегабайта, выкинув из Qt дефайнами кучу ненужностей и пересобрав его. После upx она даже 1.44Мб влезла бы.
Но блин, это ж был чисто десктопный Qt, умеющий только в Linux-Windows-Mac. Без зоопарка поддерживаемых встраиваемых и мобильных архитектур. Примитивный по сегодняшним меркам.