build/soong/androidmk/cmd/androidmk/android.go
关键字定义位于 bpparser 中
1. 字符类型
80 addStandardProperties(bpparser.StringType,
81 map[string]string{
82 "LOCAL_MODULE": "name",
83 "LOCAL_CXX_STL": "stl",
84 "LOCAL_STRIP_MODULE": "strip",
85 "LOCAL_MULTILIB": "compile_multilib",
86 "LOCAL_ARM_MODE_HACK": "instruction_set",
87 "LOCAL_SDK_VERSION": "sdk_version",
88 "LOCAL_NDK_STL_VARIANT": "stl",
89 "LOCAL_JAR_MANIFEST": "manifest",
90 "LOCAL_JARJAR_RULES": "jarjar_rules",
91 "LOCAL_CERTIFICATE": "certificate",
92 "LOCAL_PACKAGE_NAME": "name",
93 "LOCAL_MODULE_RELATIVE_PATH": "relative_install_path",
94 "LOCAL_PROTOC_OPTIMIZE_TYPE": "proto.type",
95 "LOCAL_MODULE_OWNER": "owner",
96 "LOCAL_RENDERSCRIPT_TARGET_API": "renderscript.target_api",
97 "LOCAL_NOTICE_FILE": "notice",
98 "LOCAL_JAVA_LANGUAGE_VERSION": "java_version",
99 "LOCAL_INSTRUMENTATION_FOR": "instrumentation_for",
100 "LOCAL_MANIFEST_FILE": "manifest",
101
102 "LOCAL_DEX_PREOPT_PROFILE_CLASS_LISTING": "dex_preopt.profile",
103 })
2. 列表类型
104 addStandardProperties(bpparser.ListType,
105 map[string]string{
106 "LOCAL_SRC_FILES": "srcs",
107 "LOCAL_SRC_FILES_EXCLUDE": "exclude_srcs",
108 "LOCAL_HEADER_LIBRARIES": "header_libs",
109 "LOCAL_SHARED_LIBRARIES": "shared_libs",
110 "LOCAL_STATIC_LIBRARIES": "static_libs",
111 "LOCAL_WHOLE_STATIC_LIBRARIES": "whole_static_libs",
112 "LOCAL_SYSTEM_SHARED_LIBRARIES": "system_shared_libs",
113 "LOCAL_ASFLAGS": "asflags",
114 "LOCAL_CLANG_ASFLAGS": "clang_asflags",
115 "LOCAL_CONLYFLAGS": "conlyflags",
116 "LOCAL_CPPFLAGS": "cppflags",
117 "LOCAL_REQUIRED_MODULES": "required",
118 "LOCAL_OVERRIDES_MODULES": "overrides",
119 "LOCAL_LDLIBS": "host_ldlibs",
120 "LOCAL_CLANG_CFLAGS": "clang_cflags",
121 "LOCAL_YACCFLAGS": "yaccflags",
122 "LOCAL_SANITIZE_RECOVER": "sanitize.recover",
123 "LOCAL_LOGTAGS_FILES": "logtags",
124 "LOCAL_EXPORT_HEADER_LIBRARY_HEADERS": "export_header_lib_headers",
125 "LOCAL_EXPORT_SHARED_LIBRARY_HEADERS": "export_shared_lib_headers",
126 "LOCAL_EXPORT_STATIC_LIBRARY_HEADERS": "export_static_lib_headers",
127 "LOCAL_INIT_RC": "init_rc",
128 "LOCAL_TIDY_FLAGS": "tidy_flags",
129 // TODO: This is comma-separated, not space-separated
130 "LOCAL_TIDY_CHECKS": "tidy_checks",
131 "LOCAL_RENDERSCRIPT_INCLUDES": "renderscript.include_dirs",
132 "LOCAL_RENDERSCRIPT_FLAGS": "renderscript.flags",
133
134 "LOCAL_JAVA_RESOURCE_DIRS": "java_resource_dirs",
135 "LOCAL_RESOURCE_DIR": "resource_dirs",
136 "LOCAL_JAVACFLAGS": "javacflags",
137 "LOCAL_ERROR_PRONE_FLAGS": "errorprone.javacflags",
138 "LOCAL_DX_FLAGS": "dxflags",
139 "LOCAL_JAVA_LIBRARIES": "libs",
140 "LOCAL_STATIC_JAVA_LIBRARIES": "static_libs",
141 "LOCAL_AAPT_FLAGS": "aaptflags",
142 "LOCAL_PACKAGE_SPLITS": "package_splits",
143 "LOCAL_COMPATIBILITY_SUITE": "test_suites",
144
145 "LOCAL_ANNOTATION_PROCESSORS": "annotation_processors",
146 "LOCAL_ANNOTATION_PROCESSOR_CLASSES": "annotation_processor_classes",
147
148 "LOCAL_PROGUARD_FLAGS": "optimize.proguard_flags",
149 "LOCAL_PROGUARD_FLAG_FILES": "optimize.proguard_flag_files",
150
151 // These will be rewritten to libs/static_libs by bpfix, after their presence is used to convert
152 // java_library_static to android_library.
153 "LOCAL_SHARED_ANDROID_LIBRARIES": "android_libs",
154 "LOCAL_STATIC_ANDROID_LIBRARIES": "android_static_libs",
155 })
156
3.布尔类型
157 addStandardProperties(bpparser.BoolType,
158 map[string]string{
159 // Bool properties
160 "LOCAL_IS_HOST_MODULE": "host",
161 "LOCAL_CLANG": "clang",
162 "LOCAL_FORCE_STATIC_EXECUTABLE": "static_executable",
163 "LOCAL_NATIVE_COVERAGE": "native_coverage",
164 "LOCAL_NO_CRT": "nocrt",
165 "LOCAL_ALLOW_UNDEFINED_SYMBOLS": "allow_undefined_symbols",
166 "LOCAL_RTTI_FLAG": "rtti",
167 "LOCAL_NO_STANDARD_LIBRARIES": "no_standard_libs",
168 "LOCAL_PACK_MODULE_RELOCATIONS": "pack_relocations",
169 "LOCAL_TIDY": "tidy",
170 "LOCAL_PROPRIETARY_MODULE": "proprietary",
171 "LOCAL_VENDOR_MODULE": "vendor", //输出到vendor
172 "LOCAL_ODM_MODULE": "device_specific", //输出到odm
173 "LOCAL_PRODUCT_MODULE": "product_specific", //输出到product
174 "LOCAL_EXPORT_PACKAGE_RESOURCES": "export_package_resources",
175 "LOCAL_PRIVILEGED_MODULE": "privileged",
176
177 "LOCAL_DEX_PREOPT": "dex_preopt.enabled",
178 "LOCAL_DEX_PREOPT_APP_IMAGE": "dex_preopt.app_image",
179 "LOCAL_DEX_PREOPT_GENERATE_PROFILE": "dex_preopt.profile_guided",
180 })