Starting March 27, 2025, we recommend using android-latest-release
instead of aosp-main
to build and contribute 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-08-29 UTC.
[null,null,["Last updated 2025-08-29 UTC."],[],[],null,["# Test and debug\n\nFollowing are several recommendations to consider as you structure your VIA\ncode to make it easier to test.\n\nArchitect the code base into independent units\n----------------------------------------------\n\nPrimary units include:\n\n- **Triggering.** Hotwording, Push-to-Talk (PTT) and Tap-to-Talk (TTT).\n- **Voice recognition.** Focused on converting audio streams into structured data.\n- **Command fulfillment.** Focused into processing a query and translate it into an action.\n\nEach of these layers should be testable on its own and independent from each\nother. Include and document:\n\n- 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.\n- A process to pass prerecorded audio files into the Voice Interaction service, allowing to test voice recognition on its own, skipping the vehicle microphone.\n\nEmulator for testing\n--------------------\n\n[Android\nEmulator](https://developer.android.com/studio/run/emulator) is an excellent platform for development and testing as it provides bridging\nbetween the host microphone and the guest AAOS instance.\n\n**Figure 1.** Emulator testing"]]