博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于android使用自己的launcher替换默认launcher的方法
阅读量:6702 次
发布时间:2019-06-25

本文共 1250 字,大约阅读时间需要 4 分钟。

关于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可以找到这些中间文件。

另外我的相关培训视频请看:

欢迎观看我发布的各个课程:

另外我的免费的linux各种驱动开发课程如下:

转载于:https://blog.51cto.com/8906847/2367940

你可能感兴趣的文章
C#高级编程八十一天----捕获异常
查看>>
ES6 对象扩展
查看>>
hadoop fs命令
查看>>
HashMap在并发场景下踩过的坑
查看>>
JavaScript监听手机物理返回键的两种解决方法
查看>>
jOOR
查看>>
算法导论-4-2 找出所缺的整数
查看>>
HDU-1865 More is better
查看>>
Discuz!NT中的LLServer架构设计
查看>>
html 打印
查看>>
Android dip,px,pt,sp 的区别
查看>>
中文编码杂谈
查看>>
评价秦朝,不用老毛
查看>>
Asp.net和C# 函数方法 (2)【转载】
查看>>
百度分享代码(备用)
查看>>
SqlMapConfig.xml 配置
查看>>
wget用法详解
查看>>
在多个线程中避免和发现伪共享
查看>>
[Ubuntu] Ubuntu如何查看cronjob
查看>>
session监听
查看>>