在网上找了一些资料,搞了一天,没成功。应该是资料太旧了,后面自己解决了。
我的需求很简单,需要开机启动自己的launcher应用,按home不能返回到原launcher。
也不需要原生的launcher。
编译的版本是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。