Alexa Auto SDK contains essential client-side software required to integrate Alexa into the automobile. The Alexa Auto SDK provides a runtime engine for communicating with the Alexa service. It also provides interfaces that allow the developer to implement platform specific behavior such as audio input, media playback, template and state rendering, and phone control. It also includes a sample app that demonstrates how to use the Alexa Auto SDK interfaces.
Table of Contents:
- What is Included
- General Build Requirements
- Vehicle Configuration Information
- Build the Alexa Auto SDK
- Alexa Auto SDK Architecture
- Release Notes and Known Issues
Tip: Try looking at Need Help? if you don't see the topic you are looking for.
The following components are included with the Alexa Auto SDK:
-
Builder: This directory contains the scripts that allow developers to build modules for a variety of hardware targets.
-
Modules: This directory contains the Alexa Auto SDK interfaces and source code.
-
Android Sample App: This directory contains the Android sample application that uses the Alexa Auto SDK to demonstrate end-to-end functionality.
-
Important! You need an Amazon Developer Account to use the Alexa Auto SDK. Read the Sample App documentation for more details.
-
Alexa Auto SDK API Reference documentation is available for Android and C++. Go to the appropriate directory and open the index.html
file with a web browser.
Access the Alexa Auto SDK API reference documentation from the links below.
You can build on a Linux, Unix, or macOS host of your choice.
However, we recommend and support running a Docker environment with the following configuration.
- macOS Sierra or Ubuntu 16.04 LTS
- Processor: 2.5 GHz
- Memory: 16 Gb
- Storage: 1 Gb+ available to use.
The Vehicle Configuration class provides an interface for vehicle information to be supplied to the SDK. This information is required to pass the certification process.
Read detailed information about the vehicle configuration class in the API reference documentation.
To build the Alexa Auto SDK you should read and understand the instructions in the Builder README.
The recommended and tested Linux hosts are Ubuntu 16.04 LTS or macOS Sierra.
Alexa Auto SDK is supported on the following platforms:
- Android ARM 32-bit
- Android ARM 64-bit (using 32-bit build)
- Android x86
- QNX ARM 64-bit
Note: For Android targets, Alexa Auto SDK is available as a prebuilt library on GitHub. Read the instructions about accessing and using the library in the samples/android/ directory.
The Alexa Auto SDK is designed to allow flexibility in the integration of Alexa as a part of the Auto in-cabin experience. The Alexa Auto SDK Engine provides runtime support for Alexa and other services and allows the application to integrate with platform specific functionality. Platform specific behavior in Alexa Auto is abstracted into interfaces called "Platform Interfaces." These interfaces should be extended in the application and registered with the Engine.
The Platform Interfaces are documented in their respective module's API documentation.
Note: This diagram shows only some of the available platform interfaces.
The runtime implementation of the Alexa Auto SDK is known as the Engine. Modules extend the Engine by providing services and defining the runtime behavior for Platform Interfaces that are registered by application. The application software communicates with the Engine through the API defined by the Platform Interfaces.
Click here for more information.
The Core Module includes Platform Interfaces and runtime Engine support for Core features in the Alexa Auto SDK, such as logging, location, and network information. The services are used by components in other modules and are required by Alexa Auto SDK.
Click here for more information.
The Alexa Module includes Platform Interfaces and runtime Engine support for Alexa features in the Alexa Auto SDK. View some sequence diagrams for more details.
This module includes support for audio input, media playback, template and state rendering, and much more.
Click here for more information.
The Navigation Module includes Platform Interfaces and runtime Engine support for Alexa to interface with the onboard navigation system.
Click here for more information.
The Phone Control Module includes Platform Interfaces and runtime Engine support for Alexa to interface with the onboard telephony system.
Click here for more information.
The Android Sample App provides an example of how to use the Alexa Auto SDK. The Android Sample App README has detailed instructions about how to use the sample app.
Note: Feature enhancements, updates, and resolved issues from previous releases are available to view in CHANGELOG.md
- Additional information related to the presentation of alerts is now available. The extended interface now includes Alert token, type, rendering time, and label if applicable when an alert is set and notification when an alert is deleted.
- In the Navigation platform interface,
SetDestination
now provides business hours and contact information for a returned location when available.
- If a location is not available, the location state is set to unavailable. Previously it was treated as (0,0) which was a valid value for longitude and latitude.
- Fixed an issue related to stopping an alert where there could be up to a 10 second delay before the alert completely stopped.
- Fixed issue where the
TemplateRuntime
platform interface could not be registered beforeAudioPlayer
.
There are no known issues in this release.
Sample App issues are documented in the Sample App README.