diff options
author | Yohann Roussel <yroussel@google.com> | 2013-08-07 16:08:05 +0200 |
---|---|---|
committer | Yohann Roussel <yroussel@google.com> | 2013-08-21 21:42:34 +0200 |
commit | 2bb6fe45bf620525ba34bd7303d7ecb597aa0689 (patch) | |
tree | a5a4f57ee1bb0b0975aae196b146e8f92b8038ee /dx/Android.mk | |
parent | 27366b6a408f945db1873f3cd507d520cd57d124 (diff) | |
download | android_dalvik-2bb6fe45bf620525ba34bd7303d7ecb597aa0689.tar.gz android_dalvik-2bb6fe45bf620525ba34bd7303d7ecb597aa0689.tar.bz2 android_dalvik-2bb6fe45bf620525ba34bd7303d7ecb597aa0689.zip |
Introduction of a tool to find main dex classes.
This is for legacy application wanting to allow --multi-dex on dx
and load the multiple files using the com.android.multidex.installer
library. The mainDexClasses script will provide the content of the
file to give to dx in --main-dex-list.
Change-Id: Id14bc785c6a888f6af49c018b2c29b89284ae40e
Diffstat (limited to 'dx/Android.mk')
-rw-r--r-- | dx/Android.mk | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/dx/Android.mk b/dx/Android.mk index edf8ca3b4..a69c785df 100644 --- a/dx/Android.mk +++ b/dx/Android.mk @@ -29,6 +29,65 @@ INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE) endif # TARGET_BUILD_APPS +# the mainDexClasses rules +# ============================================================ +include $(CLEAR_VARS) +LOCAL_IS_HOST_MODULE := true +LOCAL_MODULE_CLASS := EXECUTABLES +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE := mainDexClasses.rules + +include $(BUILD_SYSTEM)/base_rules.mk + +$(LOCAL_BUILT_MODULE): $(HOST_OUT_JAVA_LIBRARIES)/dx$(COMMON_JAVA_PACKAGE_SUFFIX) +$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/etc/mainDexClasses.rules | $(ACP) + @echo "Copy: $(PRIVATE_MODULE) ($@)" + $(copy-file-to-new-target) + +INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE) + +installed_mainDexClasses.rules := $(LOCAL_INSTALLED_MODULE) + +# the shrinkedAndroid jar is a library used by the mainDexClasses script +# ============================================================ +include $(CLEAR_VARS) +LOCAL_IS_HOST_MODULE := true +LOCAL_MODULE_CLASS := JAVA_LIBRARIES +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE := shrinkedAndroid +LOCAL_BUILT_MODULE_STEM := shrinkedAndroid.jar +LOCAL_MODULE_SUFFIX := $(COMMON_JAVA_PACKAGE_SUFFIX) + +include $(BUILD_SYSTEM)/base_rules.mk + +$(LOCAL_BUILT_MODULE): PRIVATE_PROGUARD_FLAGS:= \ + -include $(addprefix $(LOCAL_PATH)/, shrinkedAndroid.proguard.flags) +$(LOCAL_BUILT_MODULE): $(call java-lib-files,android_stubs_current)| $(PROGUARD) + $(call proguard-enabled-commands,) + +INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE) + +installed_shrinkedAndroid := $(LOCAL_INSTALLED_MODULE) + +# the mainDexClasses script +# ============================================================ +include $(CLEAR_VARS) +LOCAL_IS_HOST_MODULE := true +LOCAL_MODULE_CLASS := EXECUTABLES +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE := mainDexClasses + +include $(BUILD_SYSTEM)/base_rules.mk + +$(LOCAL_BUILT_MODULE): $(HOST_OUT_JAVA_LIBRARIES)/dx$(COMMON_JAVA_PACKAGE_SUFFIX) +$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/etc/mainDexClasses | $(ACP) + @echo "Copy: $(PRIVATE_MODULE) ($@)" + $(copy-file-to-new-target) + $(hide) chmod 755 $@ + +$(LOCAL_INSTALLED_MODULE): | $(installed_shrinkedAndroid) $(installed_mainDexClasses.rules) +INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE) + # the dexmerger script # ============================================================ include $(CLEAR_VARS) |