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。