Name Description Size
aar.py Processes an Android AAR file. 6465
aar.pydeps 207
aidl.py Invokes Android's aidl 2108
aidl.pydeps 210
allot_native_libraries.py Allots libraries to modules to be packaged into. All libraries that are depended on by a single module will be allotted to this module. All other libraries will be allotted to the closest ancestor. Example: Given the module dependency structure c / \ b d / \ a e and libraries assignment a: ['lib1.so'] e: ['lib2.so', 'lib1.so'] will make the allotment decision c: ['lib1.so'] e: ['lib2.so'] The above example is invoked via: ./allot_native_libraries \ --libraries 'a,["1.so"]' \ --libraries 'e,["2.so", "1.so"]' \ --dep c:b \ --dep b:a \ --dep c:d \ --dep d:e \ --output <output JSON> 5364
allot_native_libraries.pydeps 264
apkbuilder.py Adds the code parts to a resource APK. 22332
apkbuilder.pydeps 280
assert_static_initializers.py Checks the number of static initializers in an APK's library. 7665
assert_static_initializers.pydeps 276
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. 1526
bytecode_processor.py Wraps bin/helper/bytecode_processor and expands @FileArgs. 2906
bytecode_processor.pydeps 273
bytecode_rewriter.py Wrapper script around ByteCodeRewriter subclass scripts. 1170
bytecode_rewriter.pydeps 249
check_flag_expectations.py Compare the flags with the checked in list. 3421
check_flag_expectations.pydeps 286
compile_java.py 29493
compile_java.pydeps 1407
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. 39500
compile_resources.pydeps 1427
copy_ex.py Copies files to a directory. 4140
copy_ex.pydeps 219
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()) 2744
create_apk_operations_script.pydeps 282
create_app_bundle.py Create an Android application bundle from one or more bundle modules. 20397
create_app_bundle.pydeps 2152
create_app_bundle_apks.py Creates an .apks from an .aab. 1892
create_app_bundle_apks.pydeps 1398
create_bundle_wrapper_script.py Create a wrapper script to manage an Android App Bundle. 4514
create_bundle_wrapper_script.pydeps 282
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. 4157
create_java_binary_script.pydeps 273
create_r_java.py Writes a dummy R.java file from a list of R.txt files. 2416
create_r_java.pydeps 1229
create_r_txt.py Writes a dummy R.txt file from a resource zip. 1066
create_r_txt.pydeps 1251
create_size_info_files.py Creates size-info/*.info files used by SuperSize. 6771
create_size_info_files.pydeps 287
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'. 2637
create_ui_locale_resources.pydeps 1268
desugar.py 2367
desugar.pydeps 219
dex.py 25205
dex.pydeps 295
dex_jdk_libs.py 3013
dex_jdk_libs.pydeps 234
dexsplitter.py 4528
dexsplitter.pydeps 231
dist_aar.py Creates an Android .aar file. 5960
dist_aar.pydeps 236
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/master/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] 10400
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. 4482
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. 2003
filter_zip.pydeps 228
finalize_apk.py Signs and aligns an APK. 2575
find.py Finds files in directories. 816
gcc_preprocess.py 2028
gcc_preprocess.pydeps 240
generate_android_wrapper.py 1108
generate_linker_version_script.py Generate linker version scripts for Chrome on Android shared libraries. 2142
generate_linker_version_script.pydeps 288
ijar.py 913
ijar.pydeps 210
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. 7363
jacoco_instr.pydeps 234
java_cpp_enum.py Normalize keys in |d| and update references to old keys in |d| values. 15512
java_cpp_enum.pydeps 260
java_cpp_enum_tests.py Tests for enum_preprocess.py. This test suite contains various tests for the C++ -> Java enum generator. 26907
java_cpp_features.py // This following string constants were inserted by // {SCRIPT_NAME} // From // {SOURCE_PATHS} // Into // {TEMPLATE_PATH} 3378
java_cpp_features.pydeps 272
java_cpp_features_tests.py Tests for java_cpp_features.py. This test suite contains various tests for the C++ -> Java base::Feature generator. 7602
java_cpp_strings.py // This following string constants were inserted by // {SCRIPT_NAME} // From // {SOURCE_PATHS} // Into // {TEMPLATE_PATH} 3084
java_cpp_strings.pydeps 269
java_cpp_strings_tests.py Tests for java_cpp_strings.py. This test suite contains various tests for the C++ -> Java string generator. 5232
java_google_api_keys.py // Copyright 2015 The Chromium Authors. All rights reserved. // 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} } 3828
java_google_api_keys.pydeps 298
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. 1094
javac_output_processor.py Contains helper class for processing javac output. 6925
jetify_jar.py Adds arguments related to jetifying to parser. Args: parser: ArgumentParser object. 1742
jetify_jar.pydeps 228
jinja_template.py Renders one or more template files using the Jinja template engine. 6457
jinja_template.pydeps 1908
lint.py Runs Android's lint tool. 20316
lint.pydeps 254
merge_manifest.py Merges dependency Android manifests into a root manifest. 5393
merge_manifest.pydeps 263
native_libraries_template.py \ // This file is autogenerated by // build/android/gyp/write_native_libraries_java.py // Please do not change its content. package org.chromium.build; public class NativeLibraries {{ public static final int CPU_FAMILY_UNKNOWN = 0; public static final int CPU_FAMILY_ARM = 1; public static final int CPU_FAMILY_MIPS = 2; public static final int CPU_FAMILY_X86 = 3; // Set to true to enable the use of the Chromium Linker. public static {MAYBE_FINAL}boolean sUseLinker{USE_LINKER}; public static {MAYBE_FINAL}boolean sUseLibraryInZipFile{USE_LIBRARY_IN_ZIP_FILE}; public static {MAYBE_FINAL}boolean sUseModernLinker{USE_MODERN_LINKER}; // This is the list of native libraries to be loaded (in the correct order) // by LibraryLoader.java. // TODO(cjhopman): This is public since it is referenced by NativeTestActivity.java // directly. The two ways of library loading should be refactored into one. public static {MAYBE_FINAL}String[] LIBRARIES = {{{LIBRARIES}}}; // This is the expected version of the 'main' native library, which is the one that // implements the initial set of base JNI functions including // base::android::nativeGetVersionName() // TODO(torne): This is public to work around classloader issues in Trichrome // where NativeLibraries is not in the same dex as LibraryLoader. // We should instead split up Java code along package boundaries. public static {MAYBE_FINAL}String sVersionNumber = {VERSION_NUMBER}; public static {MAYBE_FINAL}int sCpuFamily = {CPU_FAMILY}; }} 1781
nocompile_test.py Checks that compiling targets in BUILD.gn file fails. 6952
optimize_resources.py Parses command line options. Returns: An options object as from argparse.ArgumentParser.parse_args() 5165
optimize_resources.pydeps 0
OWNERS 79
prepare_resources.py Process Android resource directories to generate .resources.zip and R.txt files. 7496
prepare_resources.pydeps 1334
process_native_prebuilt.py 1134
process_native_prebuilt.pydeps 267
proguard.py 26779
proguard.pydeps 425
proto
test
turbine.py Wraps the turbine jar and expands @FileArgs. 5965
turbine.pydeps 219
unused_resources.py 2904
unused_resources.pydeps 1238
util
validate_static_library_dex_references.py 3161
validate_static_library_dex_references.pydeps 385
write_build_config.py 86748
write_build_config.pydeps 1244
write_native_libraries_java.py Writes list of native libraries to srcjar file. 4288
write_native_libraries_java.pydeps 279
zip.py Archives a set of files. 2408
zip.pydeps 207