Fixes suggested themselves, like stepping stones across a river. Remove the resolver and force explicit symbol resolution. Namespace vendor shims. Harden the detection logic to avoid the race. Each change carried consequences. Removing the resolver would break devices that depended on it elsewhere; namespacing required coordination down several trees; changing boot detection could mask other subtle behaviors. Aria chose a surgical path: make the resolver deterministic and verbose, add a build-time assertion warning when symbol collisions are present, and backport a narrow race-fix to the boot detection module for affected platforms.
: Manually searching through millions of lines of code is impractical. xref aosp automates this process, making it easier to find and understand how different parts of the codebase interact. xref aosp
This is invaluable for understanding why a line of code was added. Click the commit hash to see the entire change in context. Fixes suggested themselves, like stepping stones across a
The search box has two modes, toggled by icons: Harden the detection logic to avoid the race
Use xref to answer: "Which modules depend on libaudioclient ?" In cs.android.com, click the module name to see reverse dependencies.
Kythe is not perfect with heavy macro magic, but it is the best publicly available cross-index for AOSP.