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
- 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.
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.
Choose a directory:
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.
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 Automotive 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
This release is only for documentation updates. There are no new features or enhancements.
Only name change updates were made to the documentation. There are no resolved issues in this release.
There are no known issues in this release.
Sample App issues are documented in the Sample App README.