Я изменяю исходный код AOSP, потому что мое приложение должно запускаться в среде киоска.
Я хочу, чтобы Android загружался прямо в приложение. Я исключил launcher2 из generic_no_telephony.mk
и добавил приложение там. Теперь Android предлагает мне все время выбирать пусковую установку по умолчанию.
Два варианта, доступные во всплывающем меню:
- Главная страница
- Мое приложение.
Как я могу исключить программу запуска Android Home Home? Или есть другой способ установить пусковую установку по умолчанию в сборке AOSP?
Ответ 1
Вместо того, чтобы изменять файлы AOSP make (что раздражает, потому что тогда вам нужно отслеживать ваши изменения), проще добавить строку LOCAL_OVERRIDES_PACKAGES в файл приложения.
Например:
LOCAL_OVERRIDES_PACKAGES := Launcher2 Launcher3
добавленный в ваш файл Android.mk, гарантирует, что эти пакеты не будут добавлены в какую-либо сборку, где будет добавлен этот пакет.
После этого вы должны сделать
make installclean
а затем запустите свою сборку так же, как вы всегда делаете свою сборку. Make installclean важно удалить пакеты, оставшиеся после предыдущей сборки.
Я также нашел хороший ответ на то, как это сделать в другом вопросе, см.:
Как сделать встроенную ОС Android только одним приложением?
Ответ 2
Вышеприведенный ответ верен. LOCAL_OVERRIDES_PACKAGES работает.
Но обратиться к одному из комментариев; Я должен был сделать
LOCAL_OVERRIDES_PACKAGES: = Главная Launcher2 Launcher3
Главная - это пример Домашнего приложения, которое служит в качестве Launcher, если Lancher2 также недоступен.
Только после удаления этих 3 пусковых установок; я мог видеть, что мой запуск запуска запуска по умолчанию без какого-либо диалогового окна с просьбой выбрать.
(моя тестовая ОС - Android N, ymmv)