diff --git a/apps.mk b/apps.mk index 1792721..9cd5868 100644 --- a/apps.mk +++ b/apps.mk @@ -71,3 +71,31 @@ endef $(foreach app, $(MOD_MIUI_APPS) , \ $(eval $(call miui_app_mod_template,$(app)))) + +# Define a rule to modify miui app. For use via $(eval). +# $1: the apk name, such as LogsProvider +define app_mod_template +ifeq ($(wildcard $(STOCKROM_APP_APK_DIR)/$(1)/$(1).apk),) +target-apk-path-$(1) := $(TARGET_PRIV_APP_DIR)/$(1)/$(1).apk +else +target-apk-path-$(1) := $(TARGET_APP_DIR)/$(1)/$(1).apk +endif +source-files-for-$(1) := $$(call all-files-under-dir,$(1)) +apkcert-$(1) := $$(shell $(GET_APK_CERT) $(1).apk $(MIUI_APK_CERT_TXT)) + +$(TARGET_OUT_DIR)/$(1): $$(source-files-for-$(1)) $(APKTOOL_INCLUDE_MIUI_RES) $(APKTOOL_INCLUDE_VENDOR_RES) +$(TARGET_OUT_DIR)/$(1).apk: $(TARGET_OUT_DIR)/$(1) + @echo ">>> build $$@..." + $(APKTOOL) b -p $(TARGET_OUT_DIR)/apktool -a $(AAPT) $(1) -o $$@ + @echo "sign $$(apkcert-$(1)) key for $$@..." + $(hide) java -jar $(TOOLS_DIR)/signapk.jar $(CERTIFICATE_DIR)/$$(apkcert-$(1)).x509.pem $(CERTIFICATE_DIR)/$$(apkcert-$(1)).pk8 $$@ $$@.signed + $(hide) mv $$@.signed $$@ + @echo "<<< build $$@ completed!" + +$(call copy-one-file,$(TARGET_OUT_DIR)/$(1).apk,$$(target-apk-path-$(1))) + +TARGET_APPS += $$(target-apk-path-$(1)) +endef + +$(foreach app, $(MOD_APPS) , \ + $(eval $(call app_mod_template,$(app)))) diff --git a/config.mk b/config.mk index 44a2f28..1632c0e 100644 --- a/config.mk +++ b/config.mk @@ -32,6 +32,18 @@ RELEASE_MEDIA_DIR := $(RELEASE_SYS_DIR)/media/$(RELEASE_DENSITY) RELEASE_FONTS_DIR := $(RELEASE_SYS_DIR)/fonts RELEASE_BOOT_DIR := $(RELEASE_DIR)/boot +# Stockrom dirs +STOCKROM_SYS_DIR := $(STOCKROM_DIR)/system +STOCKROM_JAR_DIR := $(STOCKROM_SYS_DIR)/framework +STOCKROM_APP_DIR := $(STOCKROM_SYS_DIR)/app +STOCKROM_PRIV_APP_DIR := $(STOCKROM_SYS_DIR)/priv-app +STOCKROM_BIN_DIR := $(STOCKROM_SYS_DIR)/bin +STOCKROM_XBIN_DIR := $(STOCKROM_SYS_DIR)/xbin +STOCKROM_LIB_DIR := $(STOCKROM_SYS_DIR)/lib +STOCKROM_LIB64_DIR := $(STOCKROM_SYS_DIR)/lib64 +STOCKROM_ETC_DIR := $(STOCKROM_SYS_DIR)/etc +STOCKROM_MEDIA_DIR := $(STOCKROM_SYS_DIR)/media +STOCKROM_FONTS_DIR := $(STOCKROM_SYS_DIR)/fonts # Src dirs MIUI_SRC_DIR := $(ANDROID_TOP)/miui diff --git a/localvar.mk b/localvar.mk index d7322bb..2793d2d 100644 --- a/localvar.mk +++ b/localvar.mk @@ -55,7 +55,7 @@ endif MOD_APPS := $(strip $(local-modified-apps)) MOD_MIUI_APPS := $(strip $(local-miui-modified-apps)) -MIUI_APP_BLACKLIST := $(MOD_MIUI_APPS) $(strip $(local-miui-removed-apps)) \ +MIUI_APP_BLACKLIST := $(MOD_APPS) $(MOD_MIUI_APPS) $(strip $(local-miui-removed-apps)) \ $(strip $(local-phone-apps)) $(strip $(local-phone-priv-apps)) PHONE_JARS := $(strip $(local-modified-jars))