声明: 图片本来是有的 涉及到有些代码不能示人没有贴上,不过仅文字说也足够了,请广大老爷们自行下载源码参看流程分析阅读。
目录
2.将SystemServer进程加到AMS中调度管理 10
1、功能
① Launcher是Android系统的启动器
② 应用程序的管理器
③ Android系统的桌面
2、样式
① 原生Launcher3经典的四种UI模式
从Launcher桌面元素的角度来看,组件包括应用程序的快捷方式、文件夹、桌面小部件及相关组件,称这类组件为桌面组件。
3、Android.mk文件
以上我们认识了其从功能到界面的了解,下面就是我们程序员上场的时候了
LOCAL_MODULE_TAGS := optional
// 编译选项为何种模式编译,optional为在任种模式下均可编译(User、eng、test三种模式)
LOCAL_SRC_FILES := $(call all-java-files-under, src) \
$(call all-java-files-under, WallpaperPicker/src) \
$(call all-proto-files-under, protos)
//需要编译的资源文件
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/WallpaperPicker/res $(LOCAL_PATH)/res
//需要编译的资源文件的路径
LOCAL_PROGUARD_FLAG_FILES := proguard.flags
//用于混淆代码的脚本文件名该处为proguard.flags(出于代码安全考虑的混淆工具可配置)
LOCAL_STATIC_JAVA_LIBRARIES := android-support-v4 android-support-v7-recyclerview
//需要依赖的Java库
LOCAL_PROTOC_OPTIMIZE_TYPE := nano
LOCAL_PROTOC_FLAGS := --proto_path=$(LOCAL_PATH)/protos/
LOCAL_AAPT_FLAGS := --auto-add-overlay
//应用程序打包标示变量,设置为自动添加并覆盖
#LOCAL_SDK_VERSION := current
LOCAL_PACKAGE_NAME := Launcher3
LOCAL_PRIVILEGED_MODULE := true
#LOCAL_CERTIFICATE := shared
LOCAL_OVERRIDES_PACKAGES := Home Launcher2
//编译Launcher3时Launcher2不会被加入编译系统