From apps to Operating Systems, how an AOSP training changed our perspective.

Fernando Gallego
Paradox Cat Tech Hub
3 min readNov 10, 2023
Image generated with DALL-E 3

Being part of Paradox Cat means that from time to time you get to do some specialisation trainings on some technologies that not so many people get access to. In our case we had the opportunity to participate in an exclusive online training course about the topics most of us need for working with our customers. This time we did a 40-hour training on Android Open-Source Project (AOSP) with a dedicated day on Android Automotive given by an expert on embedded systems that has been in the industry for so many years already.

During this course we were able to listen to the lessons and then get our hands dirty trying the concepts ourselves on a preconfigured remote machine in the cloud (that made the setup for the course a breeze). It is proven that when you want to study something new, listening to a few lessons is not enough. We developers learn by doing and tinkering, and to do so for this course, we had a safe sandboxed environment to try out the commands we just learned, change some parameters, experiment, etc. and see the results ourselves without the fear of breaking our system.

We touched on many topics involved in the building and customization of such a complex operating system like Android. We started by creating a new “product”, this means we created a new device configuration that allowed us to customize it by adding new packages, services and features.

Once we had this new “product” we applied all the things we saw during the lessons. From replacing the kernel with a new one we built from scratch, looking at the startup scripts and adding a new booting animation, to adding new modules and system services, modifying SELinux policies, adding a new HAL and calling JNI code. Then, for the Automotive part, we looked at the Vehicle HAL, vendor properties and the Car Service.

By getting this knowledge we could be more effective for our customer project and make more informed decisions about the development of some parts of the system where we are involved. Since AOSP doesn’t really provide a lot of public documentation, it is comforting to have someone who understands it to explain to you the most difficult parts and be able to ask questions. And even better, that you get to do it yourself.

All in all, it was a lot of content condensed in just 40 hours, which means we had to review and play ourselves afterwards, just to get the most of it. However, I think it was very useful and allowed us to understand at a lower level how AOSP works and how the overall architecture is designed to work on mobile devices. As an app developer, it is completely another Android world that you don’t get to see when you create mobile applications. It means really getting into the nitty gritty details of an operating system, and if you have never done it before, it is both exciting and daunting at the same time, but if you are eager to learn new things outside of your comfort zone, this is your place. I am very happy that Paradox Cat gave me this opportunity to take this training and expand my knowledge, enabling me to grow as a Software Engineer.

--

--

Fernando Gallego
Paradox Cat Tech Hub

Software Architect at Paradox Cat GmbH, Android Expert, Curious mind.