Skip to content

Latest commit

 

History

History
139 lines (78 loc) · 7.46 KB

README.md

File metadata and controls

139 lines (78 loc) · 7.46 KB

Alexa Auto SDK

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:

Tip: Try looking at Need Help? if you don't see the topic you are looking for.

What is Included

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.

Access the Alexa Auto SDK API reference documentation from the links below.

General Build Requirements

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.

Vehicle Configuration Information

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.

Build the Alexa Auto SDK

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.

Supported Target Platforms

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.

Alexa Auto SDK Architecture Overview

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.

architecture

Alexa Auto SDK Engine Alexa Auto SDK Engine

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.

Alexa Auto SDK Engine Core Module

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.

Alexa Auto SDK Engine Alexa Module

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.

Alexa Auto SDK Engine Navigation Module

The Navigation Module includes Platform Interfaces and runtime Engine support for Alexa to interface with the onboard navigation system.

Click here for more information.

Alexa Auto SDK Engine Phone Control Module

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.

Getting Started With the Android Sample App

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.

Release Notes and Known Issues

Note: Feature enhancements, updates, and resolved issues from previous releases are available to view in CHANGELOG.md

v1.2.0 released on 2018-10-15:

Enhancements

  • 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.

Resolved Issues

  • 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 before AudioPlayer.

Known Issues

There are no known issues in this release.

Sample App issues are documented in the Sample App README.