博观而约取,厚积而薄发。这篇文章主要讲述关于android使用自己的launcher替换默认launcher的方法相关的知识,希望能为你提供帮助。
关于android使用自己的launcher替换默认launcher的方法有时候,你可能希望用你自己的launcher程序替换默认的android launcher2和launcher3。而且希望作为系统起来就启动你的launcher程序,而不需要用户选择。
特别是如果你的launcher程序和默认launcher程序共存时,即使你的launcher已经被用户选择为默认启动launcher,突然运行时,你的程序出现crash,那么系统会再次弹出选择哪个launcher进行启动的选择框,而不是直接重启你的launcher程序。
所以解决方法是用你的launcher程序在系统rom编译时,替换默认的launcher。
即在你的Android.mk文件加入:
LOCAL_OVERRIDES_PACKAGES := Launcher2 Launcher3 Home
这条语句即可。
例如
你的launcher程序的Android.mk如下内容:
LOCAL_PATH := $(my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := XXXlauncher
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_PREBUILT_JNI_LIBS :=
@lib/arm64-v8a/libBugly.so
LOCAL_OVERRIDES_PACKAGES := Launcher2 Launcher3 Home
LOCAL_CERTIFICATE := PRESIGNED
include $(BUILD_PREBUILT)
关于这一点,其实你在android自动的Launcher3的Android.mk文件中已经能找到类似的语句:
packages/apps/Launcher3
LOCAL_OVERRIDES_PACKAGES := Launcher2
需要注意的是,你加入此语句后,需要make clean或者在out目录中清除上次已经编译的Launcher2和Launcher3的中间文件和apk文件。
当然,由于此LOCAL_MODULE_TAGS := optional, 所以需要在相关的device.mk类似的.mk文件中加入
PRODUCT_PACKAGES += XXXlauncher
当然在out目录中运行 Find . | grep -i launcher可以找到这些中间文件。
另外我的相关培训视频请看:
欢迎观看我发布的各个课程: https://edu.51cto.com/lecturer/8896847.html
【关于android使用自己的launcher替换默认launcher的方法】另外我的免费的linux各种驱动开发课程如下:
https://edu.51cto.com/course/17138.html
推荐阅读
- 关于linux input device输入子系统架构及android中的框架
- 用Cubism 2制作自己的Live2D(尝试向)——android sdk样本的下载与Android studio编译!
- Android Studio 常用应用
- create-react-app项目配置
- ----uni-app之修改头像----
- com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@1035079 -- APPARENT DEADLOCK!!! C
- Android Sqlite 批量插入性能优化
- 微信聊天记录能当做借钱的凭证吗?_微信
- 微信PC版不扫二维码登陆的办法_微信