如何在 ROM 版本中安装默认的 AOSP 启动器快捷方式?

How are the default AOSP launcher shortcuts installed in a ROM build?

我正在构建自己的 AOSP 版本(使用自定义设备的 Code Aurora 存储库中的代码)并尝试确定如何将某些应用程序的快捷方式自动添加到启动器的数据库(Launcher3 on棉花糖更具体)。我想改变这些和 remove/reposition 其中一些。 (在这个特定的例子中,有问题的应用程序是来自 GMS 套件的应用程序。)

我知道应用程序可以尝试通过发送 ACTION_CREATE_SHORTCUT 意图将它们的快捷方式放到启动器的工作区中。其中一些应用程序是否在首次启动后但在启动器首次启动之前发送这些 intent?

我找不到任何步骤或代码将这些值作为构建时的前置步骤添加到数据库中。

您要查找的是位于 platform/packages/apps/Launcher3/res/xml/default_workspace_*.xml.(here)
下的启动器的“workspace” 您会注意到不同的屏幕尺寸(例如 4X4 / 5X5 / 5X6)有不同的工作空间。
要添加新应用,只需添加下一个标签:

<favorite
    launcher:packageName="com.android.gallery3d" //Your app name
    launcher:className="com.android.gallery3d.app.Gallery" // Your launcher Activity
    launcher:screen="3" // The screen number
    launcher:x="1" // X Location on screen
    launcher:y="3" /> // Y Location on screen

Xml 标签 -
1. favorite - 具体应用。
2. resolve - 解决默认应用(例如默认消息应用)
3. appwidget - 小部件...

AOSP original link