1.在/packages/apps/創建MyApp文件夾,將duduCar.apk文件復制到此文件夾,新建Android.mk文件,寫入以下配置信息:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := duduCar
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
​
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
​
​
#获得apk中 armeabi-v7a 下所有的so
#define get-all-libraries-module-name-in-subdirs
#$(sort $(shell cd $(LOCAL_PATH) ; rm -rf lib >/dev/null ; unzip $(LOCAL_MODULE).apk 'lib/armeabi-v7a/*.so' -d . >/dev/null ; #find -L $(1) -name "*.so"))
#endef
#ALL_LIBRARIES_MODULE_NAME := $(call get-all-libraries-module-name-in-subdirs, lib/armeabi-v7a)
#LOCAL_PREBUILT_JNI_LIBS := $(ALL_LIBRARIES_MODULE_NAME)
​
LOCAL_OVERRIDES_PACKAGES := Launcher2 Launcher3 Launcher3QuickStep CarLauncher
​
LOCAL_CERTIFICATE := PRESIGNED
include $(BUILD_PREBUILT)

2.修改/build/target/product/下的base_system.mk文件,添加"duduCar"

# Packages included only for eng or userdebug builds, previously debug tagged
PRODUCT_PACKAGES_DEBUG := \
    *********************************
    unwind_symbols \
    duduCar \     //添加此行

3.修改/build/target/product/下的handheld_system_ext.mk文件,刪除"Launcher3QuickStep "

# /system_ext packages
PRODUCT_PACKAGES += \
    Provision \
    Settings \
    StorageManager \
    SystemUI \
    WallpaperCropper \

4.如果之前編譯時系統存在過原生的Launcher,就必須要將/out/target/product/下的Launcher3相關的文件或文件夾全部刪除,然後再編譯源碼:m。或者先make clean,然後再make,但確實非常耗時。這時原生的Launcher已經不會再出現讓你去選擇用哪個Launcher,而是直接用你自定義的Launcher。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐