diff --git a/core/definitions.mk b/core/definitions.mk index e880fa537..d2f65ebd6 100644 --- a/core/definitions.mk +++ b/core/definitions.mk @@ -3318,9 +3318,8 @@ $(foreach source,$(ENFORCE_RRO_SOURCES), \ $(eval enforce_rro_source_manifest_package_info := $(word 3,$(_o))) \ $(eval enforce_rro_use_res_lib := $(word 4,$(_o))) \ $(eval enforce_rro_source_overlays := $(subst :, ,$(word 5,$(_o)))) \ - $(eval enforce_rro_module := $(enforce_rro_source_module)__auto_generated_rro) \ $(eval include $(BUILD_SYSTEM)/generate_enforce_rro.mk) \ - $(eval ALL_MODULES.$(enforce_rro_source_module).REQUIRED += $(enforce_rro_module)) \ + $(eval ALL_MODULES.$$(enforce_rro_source_module).REQUIRED += $$(LOCAL_PACKAGE_NAME)) \ ) endef diff --git a/core/generate_enforce_rro.mk b/core/generate_enforce_rro.mk index 6c9598324..6124a4f21 100644 --- a/core/generate_enforce_rro.mk +++ b/core/generate_enforce_rro.mk @@ -1,24 +1,29 @@ include $(CLEAR_VARS) +enforce_rro_module := $(enforce_rro_source_module)__auto_generated_rro LOCAL_PACKAGE_NAME := $(enforce_rro_module) intermediates := $(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME),,COMMON) rro_android_manifest_file := $(intermediates)/AndroidManifest.xml ifeq (true,$(enforce_rro_source_is_manifest_package_name)) -$(rro_android_manifest_file): PRIVATE_PACKAGE_NAME := $(enforce_rro_source_manifest_package_info) -$(rro_android_manifest_file): build/make/tools/generate-enforce-rro-android-manifest.py - $(hide) build/make/tools/generate-enforce-rro-android-manifest.py -u -p $(PRIVATE_PACKAGE_NAME) -o $@ + use_package_name_arg := --use-package-name else -$(rro_android_manifest_file): PRIVATE_SOURCE_MANIFEST_FILE := $(enforce_rro_source_manifest_package_info) -$(rro_android_manifest_file): $(enforce_rro_source_manifest_package_info) build/make/tools/generate-enforce-rro-android-manifest.py - $(hide) build/make/tools/generate-enforce-rro-android-manifest.py -p $(PRIVATE_SOURCE_MANIFEST_FILE) -o $@ + use_package_name_arg := +$(rro_android_manifest_file): $(enforce_rro_source_manifest_package_info) endif +$(rro_android_manifest_file): PRIVATE_PACKAGE_INFO := $(enforce_rro_source_manifest_package_info) +$(rro_android_manifest_file): build/make/tools/generate-enforce-rro-android-manifest.py + $(hide) build/make/tools/generate-enforce-rro-android-manifest.py \ + --package-info $(PRIVATE_PACKAGE_INFO) \ + $(use_package_name_arg) \ + -o $@ + LOCAL_PATH:= $(intermediates) ifeq ($(enforce_rro_use_res_lib),true) -LOCAL_RES_LIBRARIES := $(enforce_rro_source_module) + LOCAL_RES_LIBRARIES := $(enforce_rro_source_module) endif LOCAL_FULL_MANIFEST_FILE := $(rro_android_manifest_file) @@ -32,7 +37,7 @@ ifneq (,$(LOCAL_RES_LIBRARIES)) # Technically we are linking against the app (if only to grab its resources), # and because it's potentially not building against the SDK, we can't either. LOCAL_PRIVATE_PLATFORM_APIS := true -else ifeq (framework-res__auto_generated_rro,$(enforce_rro_module)) +else ifeq (framework-res,$(enforce_rro_source_module)) LOCAL_PRIVATE_PLATFORM_APIS := true else LOCAL_SDK_VERSION := current diff --git a/tools/generate-enforce-rro-android-manifest.py b/tools/generate-enforce-rro-android-manifest.py index 68331cfad..0d7623ffd 100755 --- a/tools/generate-enforce-rro-android-manifest.py +++ b/tools/generate-enforce-rro-android-manifest.py @@ -48,8 +48,9 @@ def get_args(): def main(argv): args = get_args() - package_name = args.package_info - if not args.use_package_name: + if args.use_package_name: + package_name = args.package_info + else: with open(args.package_info) as f: data = f.read() f.close()