MTK平台-内置应用作为系统Launcher

提示:以MTK 平台为例,内置定制应用作为系统Launcher 的基本操作和步骤说明


一、需求

客户提供自己的App,默认客户自己的Launcher 作为机器开机的Launcher

二、参考资料

这里提供部分参考资料,方便在不明白的时候可以查阅资料,在实现需求过程中,每一步要怎么实现。

### 替换 Android 系统内置Launcher 应用 在 Android 系统中,替换默认的系统 Launcher 主要涉及将自定义的 Launcher 应用预置为系统应用,并通过构建配置覆盖原有的 Launcher 模块。这一过程通常适用于基于 AOSP 的定制 ROM 开发者。 #### 1. 预置自定义 Launcher APK 需要将目标 Launcher APK 文件放入系统的 `vendor` 或 `device` 目录下的特定路径中。例如,在 Rockchip 平台中,可以创建如下目录结构: ``` vendor/rockchip/common/apps/HomePage/ ``` 然后在此目录下放置 APK 文件和对应的 `Android.mk` 构建配置文件,内容如下: ```makefile LOCAL_PATH := $(my-dir) include $(CLEAR_VARS) LOCAL_MODULE := HomePage LOCAL_MODULE_CLASS := APPS LOCAL_SRC_FILES := $(LOCAL_MODULE)$(COMMON_ANDROID_PACKAGE_SUFFIX) LOCAL_CERTIFICATE := platform LOCAL_MODULE_TAGS := optional LOCAL_BUILT_MODULE_STEM := package.apk LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX) LOCAL_PRIVILEGED_MODULE := true LOCAL_OVERRIDES_PACKAGES := Home Launcher2 Launcher3 Launcher3QuickStep include $(BUILD_PREBUILT) ``` 此配置会将 APK 安装到 `/system/priv-app` 目录下,并覆盖原有系统 Launcher 模块[^3]。 #### 2. 修改系统构建配置以替换默认 Launcher 为了确保新 Launcher 成为系统默认应用,需在多个构建配置文件中移除对原 Launcher 的引用,并替换为新的模块名称。 - **修改设备配置文件**:如 `device/rockchip/rk3588/rk3588_s/rk3588_s.mk`,添加以下内容: ```makefile PRODUCT_PACKAGES += HomePage ``` - **修改通用构建配置文件**:如 `device/rockchip/common/device.mk` 和 `build/make/target/product/handheld_system_ext.mk`,移除原有 Launcher 模块(如 `Launcher3QuickStep`)并替换为新的模块名[^4]。 #### 3. 编译系统镜像 完成上述配置后,执行完整的系统编译流程: ```bash source build/envsetup.sh lunch <target-name> make -j$(nproc) ``` 编译完成后生成的系统镜像将包含新的 Launcher 应用作为默认桌面[^5]。 #### 4. 确保 Launcher 具备必要声明 自定义的 Launcher 应用必须在其 `AndroidManifest.xml` 中声明正确的 intent-filter,以确保其能够响应 HOME 键事件: ```xml <activity android:name=".Launcher"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.HOME" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> ``` 该声明使系统识别该应用为可选的主屏幕应用,并允许其成为默认 Launcher [^1]。 #### 5. 安装位置与权限要求 确保 Launcher APK 不会被安装到 SD 卡上,因为系统无法从外部存储加载系统应用。可以通过设置 `android:installLocation="internalOnly"` 来限制安装位置。此外,使用 `platform` 签名证书进行签名是必要的,以便获得系统权限 [^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

野火少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值