Android9 系统编译 替换Launcher

在网上找了一些资料,搞了一天,没成功。应该是资料太旧了,后面自己解决了。

我的需求很简单,需要开机启动自己的launcher应用,按home不能返回到原launcher。

也不需要原生的launcher。

编译的版本是Android 9.0

Android 9.0编译参考

下面是步骤:

首先自己的app在AndroidMainfest需要配置为Launcher,这一步就不多说了。

如果系统已经编译过

需要在out目录全局搜索Launcher3,将launcher3的全部删掉。主要是Launcher3QuickStep_intermediates文件夹

再接着执行下面的操作

如果系统没有编译过

删除 packages/apps/Launcher2和Launcher3
然后建一个文件夹,装自己的apk。

这一步主要是烧录自己的app进系统。

文件夹就取Ai吧。

然后把自己的Ai.apk,放进该目录。

接着编写Android.mk

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# Module name should match apk name to be installed
LOCAL_MODULE := Ai #apk的名字
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := PRESIGNED
include $(BUILD_PREBUILT)

保存之后回到主目录。

编译完就行了

然后执行
source build/envsetup.sh
lunch 你的版本
我是 lunch aosp_x86_64-eng

make -j12
emulator -partition-size 4096 -skin '1920x1280' -logcat w

因为只有自己的app设置了Launcher,所以开机就是自己的app了,由于没有原生launcher,所以不能打开其他app,只有app内部去启动其他app。

你可能感兴趣的:(Android,framework,Android系统,android,framework)