Software development for the connected car: on the safe side with Anbox Cloud

Today, Android Automotive OS (AAOS) is the preferred operating system for in-vehicle infotainment among major carmakers. AAOS is a fully functional infotainment platform that supports various applications, features and services, similar to what people are used to on their Android phone.

AAOS helps developers create new applications and features that enhance the driving experience, which has resulted in a rapidly growing ecosystem of compatible apps and services. 

Unfortunately, the road to developing robust infotainment systems is long and full of hurdles. Challenges exist in hardware availability, logistics, and system configurations. For example, dependencies on the hardware often lead to problems and delays in testing. What’s more, many hardware variants differ from the developers’ test environment, which makes it difficult to set up a representative test bench. 

A cloud-native approach is a powerful answer to the problems of physical hardware: it doesn’t require physical shipping, handling, or setup, it provides consistent environments and is scalable, and it simplifies onboarding. In this blog, we’ll explore the features and benefits of Anbox Cloud, in particular in an Automotive context.

Anbox Cloud: a cloud-native approach to a better infotainment system 

As is well known, automotive development often requires extensive testing and validation. This is time-consuming and repetitive work, which is further complicated by issues with inconsistent hardware quality during the system development phase.

Anbox Cloud takes a cloud-native approach to this problem by creating a consistent and secure environment for developing and testing Android-based systems and apps. It decouples development from specific hardware, and thus helps to alleviate the fragmentation and compatibility issues that are common in the automotive industry. 

Thanks to this design, developer testing resources become dynamically scalable in the cloud, making it easier to cope with work peaks, e.g. at development milestones or product launches. The development environment remains responsive and performs well even under heavy loads. As a scalable and cost-efficient solution, Anbox Cloud enables automotive development teams to respond more quickly and flexibly to unforeseen developments, changing requirements, and market conditions. And because your teams’ time is precious and cannot be subject to unexpected delays, Canonical can provide 24×7 support for Anbox Cloud installations, in order to ensure smooth use of the technology.

Let’s take a closer look at the many strengths of Anbox Cloud that make it a great fit for many Automotive application development use cases.

Infotainment development efficiency at the lowest cost per user

One of Anbox Cloud’s greatest strengths lies in its origins: it was originally created for cloud gaming, and was optimized to perform well in gaming environments that require fast response times and high reliability. It offers a very low latency between the user on a computer and the server running the Android system in the cloud. It is also designed to offer a very high number of concurrent users per server, having been tested with more than 100 players connected to a single server running Anbox Cloud. These strengths make Anbox Cloud the perfect choice for automotive development, which typically requires very low latency for testing on servers, a great user experience. In addition, the very high number of concurrent users supported per server ensures a cost effective solution.

Using Anbox Cloud in an Automotive software development context is especially impactful when you consider its support for customized AAOS images. It allows developing, debugging, and testing a virtual infotainment device running in the cloud and it supports Android tools (like Android Studio and ADB). It’s available on major public clouds as well as private clouds. It supports both x86- and Arm-based servers as well as GPUs from Intel, AMD, and NVIDIA. 

It’s not just stable and powerful, however: it’s also cost effective. For OEMs and suppliers with more than 200 Android developers, Anbox Cloud enables a very low cost per user. 

Anbox Cloud for Automotive also provides specific tools and features for infotainment development for Android apps and images. Let’s discuss these functionalities in detail and explore how they help software development, testing and deployment.

Current AAOS images

Support for AAOS images is essential for testing applications and ensuring that they run correctly. Anbox Cloud allows developers to deploy and run reference images from both Android Open Source Project (AOSP) and Android Automotive OS (AAOS). This provides developers with a consistent and stable starting point to implement and test their Android applications, which closely resembles the target hardware and use cases. 

The developers run on Android reference images and detect potential problems such as bugs and inconsistencies early in the development cycle. In this controlled environment, they can fix these problems before the apps are deployed on the target hardware. Development teams save time and resources by quickly iterating and testing.

Customizing Android images 

OEMs and suppliers are not using unmodified ‘off-the-shelf’ AAOS images. Rather, they customize an AAOS image to their specific requirements. While the AAOS image is customized by one team, they need the teams developing Android applications or in charge of the tests, to be using the same AAOS image (or an earlier version of that image). 

Time and consistency are key factors in determining success in such a scenario: the sooner the customized image can be shared with the other teams, the faster the product can be delivered to the market. And the teams need to be able to choose which tailored AAOS image they work on (like a beta version or the latest stable version, depending on their role and needs) so that every team member has access to the exact same environment. Anbox Cloud supports customized Android images built from AAOS and enables the teams to collaborate efficiently to reduce integration risk, improve product quality, and make development faster.

Experimenting with VHAL properties

A defining feature of Android Automotive is the Vehicle Hardware Abstraction Layer (VHAL). Through this interface, applications access and interact with vehicle properties and functions by abstracting the underlying hardware specifications. Enabling developers to manipulate VHAL properties gives them an invaluable tool for simulating various vehicle conditions and behaviours. 

Anbox Cloud supports direct modification of VHAL properties, allowing more options for thorough testing and development. Developers can experiment with different scenarios and directly capture how their customized AAOS systems and Android applications respond. Through this level of control, Anbox helps ensure that applications are thoroughly tested and can handle real-world situations.

Sometimes developers need to explore edge cases and stress test their applications. They can do this by tweaking the VHAL properties and simulating extreme conditions such as high speeds or low battery. This simulation ensures that applications remain stable and responsive, and highlights potential weak points and areas for improvement, thus increasing the robustness of the software.

The VHAL properties are available in the Anbox Cloud user interface so this makes it easier for software developers to test their implementation. This VHAL portion of the Anbox Cloud user interface can be tailored for specific needs like adding OEM-specific VHAL extensions. Also, the VHAL properties are available through APIs to enable automatic testing at scale.

Debugging in the cloud

Software development always requires debugging, and Android is no exception. To allow developers to debug the cloud instance, Anbox Cloud provides end-to-end secure access to the Android Debug Bridge (ADB), the debug environment used by Android. With Anbox Cloud, the developers can continue to use the same Android tools (including Android Studio), connect ADB to their AAOS instance running in the cloud, and perform the usual development and debugging activities (adding breakpoints, debugging step by step, and so on) right from within Android Studio. The tools are the same, they just run on virtual Android devices located in the cloud.

Customize Android configurations and screens

Developers can modify Android system configurations and screens to meet specific requirements and use cases. Some examples could be adapting the user interface to the brand identity, optimizing system settings for specific hardware, and creating and testing niche applications. The end product is precisely tailored to the requirements of different automotive applications,for instance, OEMs owning multiple car brands are deploying AAOS-based systems which have a different look and feel based on the vehicle.

Testing all the possible configurations and screens, in all supported languages, needs automation. Anbox Cloud enables the project teams to run automated testers, at scale, in a reliable and replicable manner. 

Testing Android applications

Testing applications before using them is mandatory for their success. The requirements for application testing are multifold.

First, every application needs to be tested against every possible configuration of the system, including all supported languages. The testing should also include all VHAL scenarios including when the car is moving or parked.

Also, because the AAOS system has been tailored to the OEM requirement, applications need to be tested in their specific contexts. Whether it is a popular music streaming application or an OEM specific application, these Android Application Packages (APKs) have to be tested with the specific AAOS system.

Some of these applications could require more interaction with the vehicle than others, and there is a growing trend for apps to adapt their user interface based on vehicle conditions.

Anbox Cloud addresses all of these testing requirements by allowing automated testing at scale. With the new VHAL support in Anbox Cloud, developers have precise control over the interactions between their applications and the vehicle. It is also possible to connect the VHAL to cloud-based virtual ECUs (Electronic Control Units) or pre-recorded data streams through APIs provided by Anbox Cloud.

Optimize DevOps and CI/CD

DevOps and CI/CD methodologies help to improve development cycles. The same methods can also be applied to in-car infotainment systems. Automated testing and deployment processes help to quickly identify and fix problems and ensure that the new code is valid and ready for production.

This rigorous testing process builds confidence in the stability and performance of the software and makes it easier to provide updates and new features. Integrating Anbox Cloud into workflows reduces manual effort and the number of repetitive tasks, allowing developers to focus less on maintenance and more on innovation. 

Remote access to Android instances

Anbox Cloud provides remote access to Android instances and management portals, serving as a type of virtual Android desktop infrastructure (VDI). Users interact with the Android system as if they were using it locally. This functionality is particularly useful for remote debugging, feature demonstrations, training, and remote support.

Remote access to Android instances increases the flexibility and responsiveness of development teams. Developers can quickly respond to issues without being tied to a specific location. 

Conclusion

In summary, Anbox Cloud is a powerful tool for developers, thanks to its ability to facilitate efficient testing, customization, and deployment of Android environments, and its seamless integration into CI/CD pipelines. Embrace the future of automotive development with the new Anbox automotive features and discover a powerful tool for creating the next generation of automotive infotainment systems and applications.

Learn more about Canonical’s suite of automotive tools and solutions be visiting our dedicated Automative solutions page.

Need help getting started with your in-car infotainment or automotive development? Contact us!

Learn more

Read more about Anbox Cloud

Watch our playlist of in-depth videos about Anbox Cloud


Android is a trademark of Google LLC. Anbox Cloud uses assets available through the Android Open Source Project.

Talk to us today

Interested in running Ubuntu in your organisation?

Newsletter signup

Get the latest Ubuntu news and updates in your inbox.

By submitting this form, I confirm that I have read and agree to Canonical's Privacy Policy.

Related posts

Canonical’s Anbox Cloud brings new development and testing features to improve in-vehicle infotainment

Support for AAOS (Android™ Automotive OS) enables improved testing and seamless scalability to make Android Automotive development easier. London, 9 September...

Fast SDV prototyping in automotive with real-time kernel

How you can use real-time computing to prototype software defined vehicles in the cloud

Canonical joins the Eclipse Foundation’s Software Defined Vehicle working group

Canonical is excited to announce it is now an official member of the Eclipse Software Defined Vehicle Working Group (SDV WG). Eclipse SDV focuses on...