Параграф 3: Відключаємо зайве
Віджети
Напевно, вже всі сучасні кастомні кастомні прошивки автоматично обирають спрощений варіант домашнього екрана під час збірки Android Go. Якщо це виявилося не так, то слід додати в device.mk
таке:
PRODUCT_PACKAGES += Launcher3QuickStepGo
Щоб застосунки, які залежать від функціоналу віджетів (наприклад, сторонні лончери з Google Play), не падали, слід додати такий конфіг в оверлей overlay/frameworks/base/core/res/res/values/config.xml
:
<!-- Launcher Go customization requires AppWidgetService, but otherwise
home screen widgets are not supported -->
<bool name="config_enableAppWidgetService">true</bool>
Навігація жестами
Компанія Google рекомендує надавати користувачеві навігацію жестами. Проте, принаймні для Android 11, рекомендується використовувати за замовчуванням навігацію трьома кнопками з можливістю її перемикання на жестову.
В оверлеї overlay/frameworks/base/core/res/res/values/config.xml
додаємо наступне для додавання жестової навігації:
<!-- Whether or not swipe up gesture's opt-in setting is available on this device -->
<bool name="config_swipe_up_gesture_setting_available">true</bool>
Або, якщо вирішено надавати тільки навігацію трьома кнопками. В оверлеї overlay/frameworks/base/core/res/res/values/config.xml
:
<bool name="config_swipe_up_gesture_setting_available">false</bool>
У device.mk
також додамо:
PRODUCT_PACKAGES += NoNavigationBarModeGestural
Багатовіконність
Android Go багатовіконність не підтримується. Вона вимикається автоматично при виставленні властивості ro.config.low_ram=true
, однак на додаток до цього рекомендується також вимкнути цей функціонал і в оверлеї overlay/frameworks/base/core/res/res/values/config.xml
:
<!-- True if the device supports at least one form of multi-window.
E.g. freeform, split-screen, picture-in-picture. -->
<bool name="config_supportsMultiWindow">false</bool>
Живі шпалери
Живі шпалери - досить ресурсоємне задоволення. Не дивно, що в Android Go воно не підтримується.
З device.mk
слід виключити перелічені нижче модулі:
PRODUCT_PACKAGES += \
LiveWallpapers \
LiveWallpapersPicker \
VisualizationWallpapers \
librs_jni
Також замість full_base
.mk слід підключати generic.mk
:
$(call inherit-product, $(SRC_TARGET_DIR)/product/generic.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/languages_full.mk)
Багатокористувацький режим
На слабких і застарілих пристроях це явно недоречна функція. І хоча в останніх версіях Android Go її наявність допустима, на старих пристроях її краще вимкнути, додавши в device.mk
таке:
PRODUCT_PROPERTY_OVERRIDES += fw.max_users=1
У overlay/frameworks/base/core/res/res/values/config.xml
:
<!-- Whether UI for multi user should be shown -->
<bool name="config_enableMultiUserUI">false</bool>
<!-- Maximum number of supported users -->
<integer name="config_multiuserMaximumUsers">1</integer>
<!-- Maximum number of users we allow to be running at a time -->
<integer name="config_multiuserMaxRunningUsers">1</integer>
Екран блокування
На слабких пристроях рекомендовано вимкнути алгоритм блокування помилкових спрацьовувань під час розблокування екрана.
В оверлей overlay/frameworks/base/packages/SystemUI/res/values/config.xml
додаємо:
<!-- If true, enable the advance anti-falsing classifier on the lockscreen. On
some devices it does not work well, particularly with noisy touchscreens. Note
that disabling it may increase the rate of unintentional unlocks. -->
<bool name="config_lockscreenAntiFalsingClassifierEnabled">false</bool>