In addition to the Android Automotive OS emulator, Pixel Tablet can be used as a physical hardware device to test your app on Android Automotive OS.
Request access
Access to the Android Automotive OS on Pixel Tablet system image requires inclusion on an allow list. You can submit the Android Automotive OS on Pixel Tablet access form to gain access.
System images
The following targets have builds available on the git_udc-car-release
branch:
Target | adb root |
Google Play services | Google Automotive App Host | Google Play Store | Google Maps | Google Assistant | Android Auto |
---|---|---|---|---|---|---|---|
tangorpro_car_ext-user |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
tangorpro_car_ext-userdebug |
✔ | ✔ | ✔ |
Flash your device
To flash your device, follow the steps detailed in Flash with Android Flash Tool. Make sure you're signed in to the tool using the Google Account that's enrolled in the program, or you won't see the builds. When asked to select a build, select one from System images that fits your needs.
Return to public build
If you would like to revert your device's software, you can follow the instructions in Return Pixel to public build.
Use the device as an Android Auto receiver
On user
images (UAA1.250513.001 or later), you can use the device as an
Android Auto receiver. To connect your phone to your Pixel Tablet running
Android Automotive OS, open the Android Auto app from the launcher grid on the
tablet and follow the onscreen instructions to pair using Bluetooth.
Emulate hardware state
As with the Android Automotive OS emulator, the Android Automotive OS image for Pixel Tablet supports emulating hardware state.
Simulate driving
Simulate driving using a quick setting
On userdebug
images (UAA1.250207.001 or later), you can simulate driving by
using a quick setting menu:
- Enable Developer options.
- Toggle Set driving in the quick setting menu, as shown in the following image:
Simulate driving using adb
To simulate a driving state using adb
, you can use the following command:
adb shell cmd car_service inject-vhal-event 0x11600207 30 -t 2000 \
&& adb shell cmd car_service inject-vhal-event 0x11400400 8 \
&& adb shell cmd car_service inject-vhal-event 0x11200402 false
This command does three things:
- Sets
PREF_VEHICLE_SPEED
to 30 meters per second (about 67 mph or 108 km/h), ramping the change over 2 seconds. - Sets
GEAR_SELECTION
toGEAR_DRIVE
. - Sets
PARKING_BRAKE_ON
tofalse
.
To simulate a parked state (the default state upon boot), you can use the following command:
adb shell dumpsys car_service inject-vhal-event 0x11600207 0 \
&& adb shell dumpsys car_service inject-vhal-event 0x11400400 4
This command does two things:
- Sets
PREF_VEHICLE_SPEED
to 0 meters per second (stopped). - Sets
GEAR_SELECTION
toGEAR_PARK
.
Known issues
Android Automotive OS for Pixel Tablet is not CTS certified and shouldn't be treated as a production device. This section describes known issues and potential workarounds.
If you run into an issue or have a feature request while using Android Automotive OS on Pixel Tablet, you can report it using the Google Issue Tracker. Be sure to fill out all the requested information in the issue template. Before filing a new issue, check whether it is already reported in the issues list. You can subscribe and vote for issues by clicking the star for an issue in the tracker. For more information, see Subscribing to an Issue.
Location
Because the Pixel Tablet doesn't have a GPS sensor and Android Automotive OS devices aren't required to support network location, Pixel Tablets running Android Automotive OS don't report their own location.
Mock location using an app
To test an app that requires location readings, enable developer options and install a mock location app.
Mock location using adb
Alternatively, you can use adb
to mock location by using the following
commands:
# Turn on the system location setting
adb shell cmd location set-location-enabled true
# Enable the developer option to allow mock locations
adb shell appops set 2000 android:mock_location allow
# Add a mock location provider named PROVIDER_NAME
# If your app uses a specific type of location provider, you should use the standard
# name of that provider, such as "fused", "gps", "network", or "passive"
adb shell cmd location providers add-test-provider PROVIDER_NAME
# Use the mock location provider named PROVIDER_NAME
adb shell cmd location providers set-test-provider-enabled PROVIDER_NAME true
# Set the location provided by PROVIDER_NAME,
# where latitude and longitude are a comma separated pair such as "37.4215,-122.0843"
adb shell cmd location providers set-test-provider-location PROVIDER_NAME --location LATITUDE,LONGITUDE
# Confirm that the location has been set
adb shell dumpsys location | grep "last location"
To stop using the mock location provider, use the following command:
adb shell cmd location providers set-test-provider-enabled PROVIDER_NAME false
Bluetooth
Support for Bluetooth profiles, such as the Hands-Free Profile (HFP) and Advanced Audio Distribution Profile (A2DP), may be missing or not fully functional.
Radio
The default Radio app does not work.
Android Auto
Wired Android Auto connections are not working consistently. Use a wireless connection if you can. See Set up Android Auto for step-by-step instructions.
Release notes
UAA1.250513.001 (May 13, 2025)
Updates
- The
tangorpro_car_ext-user
build now supports acting as an Android Auto receiver.
UAA1.250207.001 (Feb 7, 2025)
Updates
- Adds support for Car Ready Mobile Apps.
- Improves audio stability for volume control.
- Disables wake up from unplugging a USB cable and performing a tap gesture to reduce battery consumption.
- Enables camera services.
- Supports a Quick Settings menu in the status bar for developers. (Only available on userdebug builds.)
Bug fixes
- Audio volume changes per stream.
- Music volume now persists, and volume control doesn't pop up when booted.
- No longer crashes when changing volume in settings.
- Wi-Fi is disabled after reboot.
- Switches between Rotary IME and Carboard automatically.
- Removes unavailable features, such as
android.software.app_widgets
.