This talk is a take on Project Treble from people who had to delve into it. It deals with what until recently was a main problem of the Android OS — fragmentation of the ecosystem to different versions — and about all that Google had to change in the Android architecture to solve this problem.
Fyodor will tell about all the main components of what Google calls Project Treble and about what are they for:
- what's the difference between Binderazed and Passthrough HALs;
- why Hardware Interface Definition Language had to be invented;
- how the partitions on USB flash drive for Android device should look like now;
- how Device and Framework use Vendor Interface Object to decide whether they are going to work together.
All of these questions will be laced with personal experience from working with these components. But the main idea of the talk is that from the very first day Android had a problem on the architecture level. Project Treble is a solution for this problem: expensive, bulky and a great illustration of how troublesome the technical debt could be.