Effective in 2026, to align with our trunk stable development model and ensure platform stability for the ecosystem, we will publish source code to AOSP in Q2 and Q4. For building and contributing to AOSP, we recommend utilizing android-latest-release instead of aosp-main. The android-latest-release manifest branch will always reference the most recent release pushed to AOSP. For more information, see Changes to AOSP.
Test and debug
Stay organized with collections
Save and categorize content based on your preferences.
Following are several recommendations to consider as you structure your VIA
code to make it easier to test.
Architect the code base into independent units
Primary units include:
- Triggering. Hotwording, Push-to-Talk (PTT) and Tap-to-Talk (TTT).
- Voice recognition. Focused on converting audio streams into structured data.
- Command fulfillment. Focused into processing a query and translate it into
an action.
Each of these layers should be testable on its own and independent from each
other. Include and document:
- Intent extras that can be used to pass user queries directly to the command fulfillment
layer. This would allow OEMs and integrators to skip the voice recognition and test command
fulfillment (car integrations) directly.
- A process to pass prerecorded audio files into the Voice Interaction service, allowing
to test voice recognition on its own, skipping the vehicle microphone.
Emulator for testing
Android
Emulator is an excellent platform for development and testing as it provides bridging
between the host microphone and the guest AAOS instance.

Figure 1. Emulator testing
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-12-02 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-12-02 UTC."],[],[]]