True, but I think it doesn't have to, at least not everything at the same time.
You can still usually understand the ins and outs of a specific component/service/module/etc with some time - e.g. if you have to develop or maintain that component.
Alternatively, you can also try to understand certain data or action paths throughout all components of the system - that's what OP did with the layout bug: They were trying to understand how Android's relayouting logic worked, so they managed to get a mostly complete picture of all the pieces that are involved in that specific functionality. But they probably didn't bother to learn the rest of Android's UI renderer or other unrelated components with the same thoroughness.
I think this kind of "selective understanding" where make conscious decisions which parts you want to understand and which you treat like a semi-predictable black box works well in practice.