Sven Falk

Android Developer

Talk Title

Our journey from regular to Android Automotive app development

Room

Nest

Date

04.07.2024

Time

11:45 > 40 min

Share

on Twitter

We have been working on an Android Automotive OS project for two years - this is our experience report on technical and organizational difficulties.
Description:
Since 2021, several of our developers started Android Automotive app development in the context of a big international enterprise company project. We benefited from the AOSP knowledge we have gained in our company throughout a number of AOSP customizing projects we worked on in the past. It helped to identify, foresee and handle some of the possible pitfalls that can occur while working on an adapted AOSP OS.

With our contribution to the Droidcon Berlin we want to share our experience we gathered in that journey with the community.

The talk emphasis the problems and challenges we encountered especially regarding the following topics:
- technical aspects like
-- the multi user system and its challenges when e.g. switching users or sharing essential data between users
-- new system states like different vehicle states (e.g. driving, parking) or Suspend To Ram enter and exit, welcome and goodbye screens
-- since AOSP/AAOS is lacking support of some vehicle specific behavior (like the one mentioned above), one needs to add system components like system services with higher privileges that e.g. broadcasts signals throughout the system. So the Android permission and privilege model needs to be well understood. One also needs to know or look up in AOSP how to circumvent different startup restrictions for apps like e.g. starting services from background or extending the limited amount of manifest declarable Broadcasts.
-- limited resources, e.g. during device start up (everyone wants to start their service at the same time) leading to the possibility of missing signals
-- limited 3rd party libraries e.g. you might not have the Google ecosystem at hand cause the customer decided against it
-- bridging/IPC with low level processing units and bus systems
- legal aspects you might not consider in regular Android app development
- imprecise or lack of Android platform documentation, e.g. how do App processes behave on user switches? Do they run in parallel like on the phones? No they don’t, but they overlap, which is not quite well documented in AAOS documentation and you will find out the hard way

Based on that knowledge we were and are successfully developing apps for our customer. These are currently rolling out world wide in mid to premium class vehicles.

Join us for a fun and sometimes bumpy ride into the world of app development for Android Automotive!

----------

Learning points / takeaways:

- Pain points most besides common app development challenges
-- the multi user system and its challenges
-- limited system resources, e.g. during device start up
-- new vehicle specific "Lifecycle" states
- What one should plan/prepare for when targeting Android Automotive
-- a more "customized" platform where coordination and role assignments become more important, meaning:
--- AOSP mechanics should be well understood
--- coordination of teams from an architecture perspective is beneficial because it avoids re-inventing the wheel throughout the sub teams.
-- truth lies in the Source Code - be prepared to dive into AOSP/AAOS sources from time to time

Speaker Bio

Studied computer science and graduated in 2003. Working for inovex for almost 5 years now. Active in Android app development for more than 10 years. Overall 20 years of experience in software development.

Menu