Name Description Size
aar.py Processes an Android AAR file. 7341
aar.pydeps 231
aidl.py Invokes Android's aidl 2193
aidl.pydeps 255
apkbuilder.py Adds the code parts to a resource APK. 22603
apkbuilder.pydeps 308
assert_static_initializers.py Checks the number of static initializers in an APK's library. 3685
assert_static_initializers.pydeps 276
binary_baseline_profile.py Creates a binary profile from an HRF + dex + mapping. 1899
binary_baseline_profile.pydeps 291
bundletool.py Simple wrapper around the bundletool tool. Bundletool is distributed as a versioned jar file. This script abstracts the location and version of this jar file, as well as the JVM invokation. 1360
bytecode_rewriter.py Wrapper script around ByteCodeRewriter subclass scripts. 1222
bytecode_rewriter.pydeps 273
check_flag_expectations.py Compare the flags with the checked in list. 3399
check_flag_expectations.pydeps 310
check_for_missing_direct_deps.py Checks for incomplete direct deps. 12087
check_for_missing_direct_deps.pydeps 1112
compile_java.py Zips files from compilation into a single jar. 27089
compile_java.pydeps 1424
compile_java_tests.py Tests for compile_java.py 2817
compile_kt.py Runs the Kotlin compiler. 6221
compile_kt.pydeps 1434
compile_resources.py Compile Android resources into an intermediate APK. This can also generate an R.txt, and an .srcjar file containing the proper final R.java class for all resource packages the APK depends on. This will crunch images with aapt2. 40139
compile_resources.pydeps 1352
copy_ex.py Copies files to a directory. 4103
copy_ex.pydeps 243
create_apk_operations_script.py \ #!/usr/bin/env python3 # # This file was generated by build/android/gyp/create_apk_operations_script.py import os import sys def main(): script_directory = os.path.dirname(__file__) resolve = lambda p: p if p is None else os.path.abspath(os.path.join( script_directory, p)) sys.path.append(resolve(${APK_OPERATIONS_DIR})) import apk_operations output_dir = resolve(${OUTPUT_DIR}) apk_operations.Run( output_dir, resolve(${APK_PATH}), [resolve(p) for p in ${ADDITIONAL_APK_PATHS}], resolve(${INC_JSON_PATH}), ${FLAGS_FILE}, ${TARGET_CPU}, resolve(${MAPPING_PATH})) if __name__ == '__main__': sys.exit(main()) 2722
create_apk_operations_script.pydeps 282
create_app_bundle.py Create an Android application bundle from one or more bundle modules. 23608
create_app_bundle.pydeps 2113
create_app_bundle_apks.py Creates an .apks from an .aab. 1870
create_app_bundle_apks.pydeps 1338
create_bundle_wrapper_script.py Create a wrapper script to manage an Android App Bundle. 4763
create_bundle_wrapper_script.pydeps 306
create_java_binary_script.py Creates a simple script to run a java "binary". This creates a script that sets up the java command line for running a java jar. This includes correctly setting the classpath and the main class. 4721
create_java_binary_script.pydeps 297
create_r_java.py Writes a dummy R.java file from a list of R.txt files. 2551
create_r_java.pydeps 1190
create_r_txt.py Writes a dummy R.txt file from a resource zip. 1044
create_r_txt.pydeps 1191
create_size_info_files.py Creates size-info/*.info files used by SuperSize. 6830
create_size_info_files.pydeps 311
create_stub_manifest.py Generates AndroidManifest.xml for a -Stub.apk. 1977
create_stub_manifest.pydeps 305
create_test_apk_wrapper_script.py Create a wrapper script to run a test apk using apk_operations.py. 2897
create_test_apk_wrapper_script.pydeps 288
create_ui_locale_resources.py Generate a zip archive containing localized locale name Android resource strings! This script takes a list of input Chrome-specific locale names, as well as an output zip file path. Each output file will contain the definition of a single string resource, named 'current_locale', whose value will be the matching Chromium locale name. E.g. values-en-rUS/strings.xml will define 'current_locale' as 'en-US'. 2805
create_ui_locale_resources.pydeps 1229
create_unwind_table.py Creates a table of unwind information in Android Chrome's bespoke format. 40120
create_unwind_table_tests.py Tests for create_unwind_table.py. This test suite contains tests for the custom unwind table creation for 32-bit arm builds. 44120
dex.py 21986
dex.pydeps 297
dex_test.py \ some initial message Warning in ../../clank/third_party/google3/pg_confs/java_com_google_protobuf_lite_proguard.pgcfg: Rule matches the static final field `java.lang.String com.google.protobuf.BaseGeneratedExtensionRegistryLite.CONTAINING_TYPE_0`, which may have been inlined: -identifiernamestring class com.google.protobuf.*GeneratedExtensionRegistryLite { static java.lang.String CONTAINING_TYPE_*; } Warning: some message Warning in gen/.../Foo.jar:Bar.class: Type `libcore.io.Memory` was not found, it is required for default or static interface methods desugaring of `void Bar.a(long, byte)` Warning: Missing class com.google.android.apps.gsa.search.shared.service.proto.PublicStopClientEvent (referenced from: com.google.protobuf.GeneratedMessageLite$GeneratedExtension com.google.protobuf.BaseGeneratedExtensionRegistryLite.findLiteExtensionByNumber(com.google.protobuf.MessageLite, int)) Missing class com.google.android.gms.feedback.ApplicationProperties (referenced from: com.google.protobuf.GeneratedMessageLite$GeneratedExtension com.google.protobuf.BaseGeneratedExtensionRegistryLite.findLiteExtensionByNumber(com.google.protobuf.MessageLite, int)) 2430
dist_aar.py Creates an Android .aar file. 7174
dist_aar.pydeps 281
errorprone.py Run Error Prone. 10143
errorprone.pydeps 1434
extract_unwind_tables.py Extracts the unwind tables in from breakpad symbol files Runs dump_syms on the given binary file and extracts the CFI data into the given output file. The output file is a binary file containing CFI rows ordered based on function address. The output file only contains rows that match the most popular rule type in CFI table, to reduce the output size and specify data in compact format. See doc https://github.com/google/breakpad/blob/main/docs/symbol_files.md. 1. The CFA rules should be of postfix form "SP <val> +". 2. The RA rules should be of postfix form "CFA <val> + ^". Note: breakpad represents dereferencing address with '^' operator. The output file has 2 tables UNW_INDEX and UNW_DATA, inspired from ARM EHABI format. The first table contains function addresses and an index into the UNW_DATA table. The second table contains one or more rows for the function unwind information. The output file starts with 4 bytes counting the number of entries in UNW_INDEX. Then UNW_INDEX table and UNW_DATA table. UNW_INDEX contains two columns of N rows each, where N is the number of functions. 1. First column 4 byte rows of all the function start address as offset from start of the binary, in sorted order. 2. For each function addr, the second column contains 2 byte indices in order. The indices are offsets (in count of 2 bytes) of the CFI data from start of UNW_DATA. The last entry in the table always contains CANT_UNWIND index to specify the end address of the last function. UNW_DATA contains data of all the functions. Each function data contains N rows. The data found at the address pointed from UNW_INDEX will be: 2 bytes: N - number of rows that belong to current function. N * 4 bytes: N rows of data. 16 bits : Address offset from function start. 14 bits : CFA offset / 4. 2 bits : RA offset / 4. The function is not added to the unwind table in following conditions: C1. If length of the function code (number of instructions) is greater than 0xFFFF (2 byte address span). This is because we use 16 bits to refer to offset of instruction from start of the address. C2. If the function moves the SP by more than 0xFFFF bytes. This is because we use 14 bits to denote CFA offset (last 2 bits are 0). C3. If the Return Address is stored at an offset >= 16 from the CFA. Some functions which have variable arguments can have offset upto 16. TODO(ssid): We can actually store offset 16 by subtracting 1 from RA/4 since we never have 0. C4: Some functions do not have unwind information defined in dwarf info. These functions have index value CANT_UNWIND(0xFFFF) in UNW_INDEX table. Usage: extract_unwind_tables.py --input_path [root path to unstripped chrome.so] --output_path [output path] --dump_syms_path [path to dump_syms binary] 10376
extract_unwind_tables_tests.py Tests for extract_unwind_tables.py This test suite contains various tests for extracting CFI tables from breakpad symbol files. 4307
filter_zip.py Returns a function to strip paths for the given patterns. Args: exclude_globs: List of globs that if matched should be excluded. include_globs: List of globs that if not matched should be excluded. Returns: * None if no filters are needed. * A function "(path) -> path" that returns None when |path| should be stripped, or |path| otherwise. 2107
filter_zip.pydeps 273
finalize_apk.py Signs and aligns an APK. 2536
find.py Finds files in directories. 767
flatc_java.py Generate java source files from flatbuffer files. This is the action script for the flatbuffer_java_library template. 1299
flatc_java.pydeps 273
gcc_preprocess.py 2597
gcc_preprocess.pydeps 285
gcc_preprocess_tests.py Tests for gcc_preprocess.py This test suite contains various tests for the 'java_cpp_template' build rule, which uses the gcc preprocessor to turn a template into Java code. 3826
generate_android_wrapper.py 1154
generate_linker_version_script.py Generate linker version scripts for Chrome on Android shared libraries. 3254
generate_linker_version_script.pydeps 312
ijar.py 1079
ijar.pydeps 234
jacoco_instr.py Instruments classes and jar files. This script corresponds to the 'jacoco_instr' action in the Java build process. Depending on whether jacoco_instrument is set, the 'jacoco_instr' action will call the instrument command which accepts a jar and instruments it using jacococli.jar. 8641
jacoco_instr.pydeps 279
java_cpp_enum.py Represents a C++ enum that must be converted to java. Args: original_enum_name: The name of the enum itself, without its package. If every entry starts with this value, this prefix is removed. class_name_override: the name for the enum in java. If None, the original enum name is used. enum_package: The java package in which this enum must be defined entries: A list of pairs. Each pair contains an enum entry, followed by either None or the value of this entry. The definition could be, for example, an integer, an expression `2 << 5`, or another enun entry. comments: A list of pairs. Each pair contains an entry and a comment associated to this entry. fixed_type: The type encoding this enum. Should belong to `ENUM_FIXED_TYPE_ALLOWLIST`. is_flag: Whether this value is used as a boolean flag whose entries can be xored together. 18555
java_cpp_enum.pydeps 305
java_cpp_enum_tests.py Tests for enum_preprocess.py. This test suite contains various tests for the C++ -> Java enum generator. 32322
java_cpp_features.py // This following string constants were inserted by // {SCRIPT_NAME} // From // {SOURCE_PATHS} // Into // {TEMPLATE_PATH} 3413
java_cpp_features.pydeps 317
java_cpp_features_tests.py Tests for java_cpp_features.py. This test suite contains various tests for the C++ -> Java base::Feature generator. 6686
java_cpp_strings.py // This following string constants were inserted by // {SCRIPT_NAME} // From // {SOURCE_PATHS} // Into // {TEMPLATE_PATH} 3172
java_cpp_strings.pydeps 314
java_cpp_strings_tests.py Tests for java_cpp_strings.py. This test suite contains various tests for the C++ -> Java string generator. 5188
java_google_api_keys.py // Copyright 2015 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // This file is autogenerated by // ${SCRIPT_NAME} // From // ${SOURCE_PATH} package ${PACKAGE}; public class ${CLASS_NAME} { ${CONSTANT_ENTRIES} } 3499
java_google_api_keys.pydeps 319
java_google_api_keys_tests.py Tests for java_google_api_keys.py. This test suite contains various tests for the C++ -> Java Google API Keys generator. 1050
javac_output_processor.py Contains helper class for processing javac output. 6277
jinja_template.py Renders one or more template files using the Jinja template engine. 6580
jinja_template.pydeps 1869
lint.py Runs Android's lint tool. 23059
lint.pydeps 278
merge_manifest.py Merges dependency Android manifests into a root manifest. 6040
merge_manifest.pydeps 287
nocompile_test.py Checks that compiling targets in BUILD.gn file fails. 6769
optimize_resources.py Parses command line options. Returns: An options object as from argparse.ArgumentParser.parse_args() 5200
optimize_resources.pydeps 276
OWNERS 121
prepare_resources.py Process Android resource directories to generate .resources.zip and R.txt files. 7565
prepare_resources.pydeps 1295
process_native_prebuilt.py 1179
process_native_prebuilt.pydeps 291
proguard.py 27240
proguard.pydeps 338
proto
rename_java_classes.py 1722
rename_java_classes.pydeps 276
system_image_apks.py Generates APKs for use on system images. 1887
system_image_apks.pydeps 249
test
trace_event_bytecode_rewriter.py Wrapper script around TraceEventAdder script. 2351
trace_event_bytecode_rewriter.pydeps 309
tracereferences.py Runs R8's TraceReferences tool to ensure DEX files are valid. 6526
tracereferences.pydeps 288
turbine.py Wraps the turbine jar and expands @FileArgs. 6170
turbine.pydeps 1425
unused_resources.py 4459
unused_resources.pydeps 1178
util
validate_inputs.py Ensures inputs exist and writes a stamp file. 827
validate_static_library_dex_references.py 3158
validate_static_library_dex_references.pydeps 409
write_build_config.py 95965
write_build_config.pydeps 1184
write_native_libraries_java.py Writes list of native libraries to srcjar file. 4675
write_native_libraries_java.pydeps 324
zip.py Archives a set of files. 3053
zip.pydeps 252