我正在修改AOSP源代码,因为我的应用需要在自助服务终端环境中运行。
我希望Android能够直接启动到应用程序中。我已从generic_no_telephony.mk
中排除 launcher2 ,并在那里添加了应用。现在,Android会一直提示我选择默认启动器。
弹出窗口中提供的两个选项:
如何排除Android Home Sample Launcher?或者是否有另一种方法在AOSP构建中设置默认启动器?
答案 0 :(得分:13)
不是修改AOSP make文件(因为那时你需要跟踪你的更改而烦人),所以更容易将LOCAL_OVERRIDES_PACKAGES行添加到你的应用程序的make文件中。
例如:
LOCAL_OVERRIDES_PACKAGES := Launcher2 Launcher3
添加到您的Android.mk文件中将确保这些软件包不会添加到添加此软件包的任何版本中。
之后,你应该做一个
make installclean
然后以与您总是进行构建相同的方式开始构建。 make installclean对于删除前一版本遗留的软件包非常重要。
我刚刚在另一个问题中找到了如何做到这一点的一个很好的答案,请参阅: How would I make an embedded Android OS with just one app?
答案 1 :(得分:1)
除非您执行以下步骤,否则系统将提示您选择要选择的主发射器。
如果您希望让您的家庭启动器真正覆盖其他启动器而不必从构建中删除其他启动器,请按照以下步骤操作。
为您设备上的所有其他家庭发射器添加覆盖到自定义家庭启动器的Android.mk :(您可能有其他人要覆盖,但这里包含了我的内容)
`LOCAL_OVERRIDES_PACKAGES := Home Launcher2 Launcher3`
将自定义主启动器应用程序模块添加到产品包列表中。有多个文件将模块添加到产品包列表中。它们位于......
" /你的-AOSP根/建造/目标/产品/"
我选择编辑并添加模块的文件是" Core.mk"。
将您的模块添加到产品包列表中:
PRODUCT_PACKAGES += \
BasicDreams \
Browser \
Calendar \
.
.
.
MmsService \
YourModuleHere
调用此方法清除所有旧模块/图像的out目录(不会删除所有目录):
make installclean
调用构建脚本
答案 2 :(得分:0)
就像第一个答案一样, 但是在Android 9中,我使用: LOCAL_OVERRIDES_PACKAGES:=主页Launcher2 Launcher3 Launcher3QuickStep
它按预期工作。