Последнее обновление программы в шапке: 25.02.2021
Скриншоты
Прошлые
Краткое описание: Установка и резервирование приложений, состоящих из нескольких APK.
Описание: SAI (Split APKs Installer) - установщик приложений, состоящих из нескольких APK. Его можно применять для установки приложений, распространяемых как App Bundle.
Неудачная попытка установки крупных пакетов (>½GB) может привести к расходованию внутренней памяти, которое можно исправить только через root доступ или сброс к заводскому состоянию ! Заранее оценивайте риск.
Требуется Android: 5.0 и выше Русский интерфейс: Да (частично)
Очень нужная вещь в современном мире. Сплиты умеет качать, например, Yalp. Тема оформлена так, будто root не нужен. По идее, он нужен. Скриншотов бы побольше. Непонятно, как выбирать все части сплита.
Сообщение отредактировал gar_alex - 15.12.18, 14:24
по гугловой документации, сплиты поддерживаются с 5.0+, но по факту я имею аппарат с 4.4, куда маркет тоже отправляет сплиты, это honor 4C. Поэтому просьба понизить api level приложения.
gar_alex, у меня такая же ошибка как в логе у AleksLee
Лог
java.lang.RuntimeException: Unable to start service com.aefyr.sai.installer.SAIService@652ff61 with Intent { cmp=com.aefyr.sai/.installer.SAIService (has extras) }: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want? at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3061) at android.app.ActivityThread.-wrap17(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1461) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5461) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want? at android.app.ContextImpl.startActivity(ContextImpl.java:682) at android.app.ContextImpl.startActivity(ContextImpl.java:669) at android.content.ContextWrapper.startActivity(ContextWrapper.java:337) at com.aefyr.sai.installer.SAIService.onStartCommand(SAIService.java:30) at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3044) ... 8 more
Мульти APK - это такая фишка от Google, которая разделяет (split) приложение на несколько разных APK . Каждый APK - это полная и независимая версия приложения, но они не работаю по отдельности, эти APK должны иметь одно и то же имя пакета, а также должны быть подписаны одним и тем же ключом.
Для чего это нужно, если говорить простым языком это своего рода "LiteMod" только сделанный самим автором приложения. В основном авторы создают APK с поддержкой всех конфигурации устройств одновременно, это приводит к росту веса приложения. Поэтому Google стал рекомендовать авторам делить APK на части если его вес больше 50 мб.
Выглядит это так:
1- основной APK (это обычный APK но без графики под различные конфигурации, так же отсутствуют библиотеки под различные архитектуры процессоров)
2- APK с библиотеками под вашу архитектуру процессора (arm64-v8a или armeabi- v7a или x86 и т.д.)
3- APK с графическими файлами под ваш размер экрана (xhdpi или xxhdpi или xxxhdpi и т.д.)