liyujie
2025-08-28 786ff4f4ca2374bdd9177f2e24b503d43e7a3b93
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# Copyright 2006 The Android Open Source Project
#
LOCAL_PATH := $(call my-dir)
 
# We use copy-file-to-new-target so that the installed
# script files' timestamps are at least as new as the
# .jar files they wrap.
 
# This tool is prebuilt if we're doing an app-only build.
ifeq ($(TARGET_BUILD_APPS)$(filter true,$(TARGET_BUILD_PDK)),)
 
# 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 mainDexClassesNoAapt rules
# ============================================================
include $(CLEAR_VARS)
LOCAL_IS_HOST_MODULE := true
LOCAL_MODULE_CLASS := EXECUTABLES
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := mainDexClassesNoAapt.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/mainDexClassesNoAapt.rules | $(ACP)
   @echo "Copy: $(PRIVATE_MODULE) ($@)"
   $(copy-file-to-new-target)
 
INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE)
 
installed_mainDexClassesNoAapt.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,$(call resolve-prebuilt-sdk-module,20)) \
                       $(addprefix $(LOCAL_PATH)/, shrinkedAndroid.proguard.flags)| $(PROGUARD)
   @echo Proguard: $@
   $(hide) $(PROGUARD) -injars "$<(**/*.class)" -outjars $@ $(PRIVATE_PROGUARD_FLAGS)
 
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) \
                             $(installed_mainDexClassesNoAapt.rules)
INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE)
 
endif # No TARGET_BUILD_APPS or TARGET_BUILD_PDK
 
# the jasmin script
# ============================================================
include $(CLEAR_VARS)
LOCAL_IS_HOST_MODULE := true
LOCAL_MODULE_CLASS := EXECUTABLES
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := jasmin
 
include $(BUILD_SYSTEM)/base_rules.mk
 
$(LOCAL_BUILT_MODULE): $(HOST_OUT_JAVA_LIBRARIES)/jasmin.jar
$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/etc/jasmin | $(ACP)
   @echo "Copy: $(PRIVATE_MODULE) ($@)"
   $(copy-file-to-new-target)
   $(hide) chmod 755 $@
 
INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE)
 
# the jasmin lib
# ============================================================
include $(CLEAR_VARS)
LOCAL_IS_HOST_MODULE := true
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := jasmin.jar
 
include $(BUILD_SYSTEM)/base_rules.mk
 
$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/etc/jasmin.jar | $(ACP)
   @echo "Copy: $(PRIVATE_MODULE) ($@)"
   $(copy-file-to-target)
   $(hide) chmod 644 $@
 
INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE)