| Name: Android Platform engineering tools |
| Short Name: android platform development |
| URL: https://android.googlesource.com/platform/development |
| Version: unknown |
| Date: 2014/05/02 |
| Revision: 1b10ec4 |
| License: Apache 2.0 |
| License File: LICENSE |
| Security Critical: no |
| Shipped: no |
| |
| Description: |
| Android Platform engineering tools, specifically: |
| 1. stack symbolization scripts |
| 2. IntelliJ formatting settings. |
| Taken from commit: 622d3d4c5b3bee50fd335f3282d9e9d64ae0f5f7 |
| |
| Local Modifications: |
| Only picked the few components useful to Chromium (as listed above). |
| |
| The scripts have been modified to better suit Chromium development. Changes |
| include, but are not limited to, the following: |
| Added option to change the amount of symbolization done. |
| Updated output directories to be set by environment variable or --flags |
| When calling addr2line, check the symbol is a file that looks like it contains |
| symbols. |
| Added support for parsing LOG(FATAL) and DCHECK errors and their |
| stack traces, as emitted by src/base/debug/stack_trace_android.cc |
| Added support for finding symbols when library is loaded directly from the APK. |
| Changed the toolchain to remove references to 4.6 toolchains. |
| Added support for arch=x64 as an alias to arch=x86_64 |
| Added debug logging and --verbose parameter. |
| Used fast ELF symbolizer for symbols.py and tombstones |
| Added code address adjustment for the debuggerd output from pre-M Android |
| where relocations are packed. |
| Added code to capture java stderr for better handling of native->java crashes. |
| Fixed invalid using decl in logging header debug.h |
| Only attempt to symbolize with ELF libraries. |
| |
| Changed the stack scripts to use llvm tools instead of gnu toolchain. |
| Additionally use symbolizer instead of addr2line, objdump, etc, since llvm symbolizer |
| is more efficient in finding function names, line numbers etc. |
| |
| Speedup symbolization by avoiding unnecessary APK manifest extraction loops. |
| |
| Changed the symbolizer to act in a passthrough mode when reading from stdin, so |
| adb logcat can be piped through it to symbolize on the fly. |
| |
| Made the symbolizer agnostic to the width of pointers. |
| Clamping the padding on symbolized names to 80 columns. |
| |
| Added an option to the symbolizer passthrough mode to flush the output regularly |
| which simplifies its intereaction with logcat_monitor's transform_func [1] |
| within the test runners [2] and [3]. |
| [1] https://crsrc.org/c/third_party/catapult/devil/devil/android/logcat_monitor.py;drc=dc3e9bf012e68f78efc07dff48cdc023fc130739;l=40 |
| [2] https://source.chromium.org/chromium/chromium/src/+/main:build/android/pylib/local/device/local_device_instrumentation_test_run.py?q=local_device_instrumentation_test#:~:text=def%20_ArchiveLogcat(self%2C%20device%2C%20test_name)%3A |
| [3] https://source.chromium.org/chromium/chromium/src/+/main:build/android/pylib/local/device/local_device_gtest_run.py#:~:text=def%20_ArchiveLogcat(self%2C%20device%2C%20test)%3A |