docs: Added new page and menu link for "Testing Apps for Auto". am: eb41bc08e1 am: a0598b5f06 am: 44b6976acf
am: 52abf8d472
* commit '52abf8d472b511a19c5d457dab8a2ba6dea0c5a6':
docs: Added new page and menu link for "Testing Apps for Auto".
Change-Id: I11018e9ade219a8297914443c42cdddc172ab7f9
This commit is contained in:
@@ -947,6 +947,8 @@ redirects:
|
|||||||
to: /studio/command-line/bmgr.html
|
to: /studio/command-line/bmgr.html
|
||||||
- from: /tools/help/draw9patch.html
|
- from: /tools/help/draw9patch.html
|
||||||
to: /studio/write/draw9patch.html
|
to: /studio/write/draw9patch.html
|
||||||
|
- from: /tools/help/desktop-head-unit.html
|
||||||
|
to: /training/auto/testing/index.html
|
||||||
- from: /tools/help/emulator.html
|
- from: /tools/help/emulator.html
|
||||||
to: /studio/run/emulator-commandline.html
|
to: /studio/run/emulator-commandline.html
|
||||||
- from: /tools/help/etc1tool.html
|
- from: /tools/help/etc1tool.html
|
||||||
|
|||||||
@@ -748,6 +748,11 @@ toc:
|
|||||||
path_attributes:
|
path_attributes:
|
||||||
- name: description
|
- name: description
|
||||||
value: How to extend text messaging apps to work with Auto devices.
|
value: How to extend text messaging apps to work with Auto devices.
|
||||||
|
- title: Testing for Auto
|
||||||
|
path: /training/auto/testing/index.html
|
||||||
|
path_attributes:
|
||||||
|
- name: description
|
||||||
|
value: How to use DHU to test Auto apps.
|
||||||
|
|
||||||
- title: Building Apps for Work
|
- title: Building Apps for Work
|
||||||
path: /training/enterprise/index.html
|
path: /training/enterprise/index.html
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ page.image=auto/images/assets/icons/auto_app_in_simulator.png
|
|||||||
<ol>
|
<ol>
|
||||||
<li><a href="#dev-project">Set Up an Auto Project</a></li>
|
<li><a href="#dev-project">Set Up an Auto Project</a></li>
|
||||||
<li><a href="#build-it">Build Auto Apps</a></li>
|
<li><a href="#build-it">Build Auto Apps</a></li>
|
||||||
<li><a href="#test-it-dhu">Run and Test Auto Apps </a></li>
|
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
<h2>You should also read</h2>
|
<h2>You should also read</h2>
|
||||||
@@ -152,136 +151,4 @@ more information, see
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2 id="test-it-dhu">Run and Test Auto Apps </h2>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
As you develop, you can run and test your app on your development machine
|
|
||||||
using the <em>Desktop Head Unit</em> (DHU). The DHU replaces the existing
|
|
||||||
simulators and enables your development machine to simulate a vehicle
|
|
||||||
dashboard system running Android Auto.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<h3 id="installing-dhu">Installing the DHU</h3>
|
|
||||||
|
|
||||||
<ol>
|
|
||||||
<li>Enable developer mode on your mobile device, as described in
|
|
||||||
<a href="{@docRoot}tools/device.html#developer-device-options">Enabling On-device
|
|
||||||
Developer Options</a>. </li>
|
|
||||||
<li>Compile your app in your development environment and install your app on
|
|
||||||
a physical mobile device running Android 5.0 (API level 21) or higher. To check the
|
|
||||||
version of Android on a Nexus device, go to
|
|
||||||
<strong>Settings > About phone</strong> (or <strong>About tablet</strong>) <strong>>
|
|
||||||
Android version</strong>.</li>
|
|
||||||
|
|
||||||
<li>Install the
|
|
||||||
<a class="external-link"
|
|
||||||
href="https://play.google.com/store/apps/details?id=com.google.android.projection.gearhead&hl=en"
|
|
||||||
>Android Auto app</a> on the mobile device.</li>
|
|
||||||
<li>Open the <a href="{@docRoot}tools/help/sdk-manager.html">SDK Manager</a> and
|
|
||||||
download the DHU package <strong>Android Auto Desktop Head Unit emulator</strong> from the
|
|
||||||
<em>SDK Tools</em> tab. The DHU installs in the <code><sdk>/extras/google/auto/</code>
|
|
||||||
directory.</li>
|
|
||||||
<li>If you are running the DHU on Linux, you must also install
|
|
||||||
the portaudio, libpng, sdl2, and sdl2_ttf libraries.
|
|
||||||
The procedure to do this varies depending on your Linux distribution. For example, on
|
|
||||||
Debian-derived Linux distributions, you can install the libraries with this command:
|
|
||||||
|
|
||||||
<pre class="no-pretty-print">
|
|
||||||
$ sudo apt-get install libsdl2-2.0-0 libsdl2-ttf-2.0-0 libportaudio2 libpng12-0
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
<div class="cols">
|
|
||||||
<div class="col-6">
|
|
||||||
<img src="{@docRoot}images/training/auto-desktop-head-unit-context-menu-enabled.png"
|
|
||||||
alt="" >
|
|
||||||
<p class="img-caption">
|
|
||||||
<strong>Figure 1.</strong> Context menu with developer options.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="col-6">
|
|
||||||
<img src="{@docRoot}images/training/auto-desktop-head-unit-server-running.png"
|
|
||||||
alt="" >
|
|
||||||
<p class="img-caption">
|
|
||||||
<strong>Figure 2.</strong> Notification that the head unit server is running.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div> <!-- end cols-->
|
|
||||||
|
|
||||||
|
|
||||||
<h3 id="connecting-dhu">Connecting the DHU to your mobile device</h3>
|
|
||||||
|
|
||||||
<p>Run the DHU by connecting your mobile device to a development machine and setting up a connection to
|
|
||||||
the head unit server over <a href="{@docRoot}tools/help/adb.html">Android Debug Bridge
|
|
||||||
(ADB)</a>. Follow these steps to set up tunneling and start the DHU:</p>
|
|
||||||
|
|
||||||
<ol>
|
|
||||||
<li>On the mobile device, enable Android Auto developer mode by starting the Android Auto
|
|
||||||
companion app, and then tapping the <i>Android Auto</i> toolbar title 10 times.
|
|
||||||
This step is only required the first time you run the companion app.
|
|
||||||
</li>
|
|
||||||
<li>If the server is not already running, select <strong>Start head unit server</strong>
|
|
||||||
from the Android Auto menu.
|
|
||||||
<p>On the device, a foreground service appears in the notification area. </p>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>In the Android Auto app, make sure the <strong>Only connect to known cars</strong> option
|
|
||||||
is disabled.</li>
|
|
||||||
|
|
||||||
<li>Connect the mobile device to the development machine via USB.</li>
|
|
||||||
|
|
||||||
<li>Make sure the mobile device has its screen unlocked, otherwise it cannot launch the DHU.</li>
|
|
||||||
|
|
||||||
<li>On the development machine, run the following {@code adb} command to
|
|
||||||
forward socket connections from the
|
|
||||||
development machine's port 5277 to the same port number on the Android device.
|
|
||||||
This configuration allows the DHU to connect to the head unit server running on your phone over
|
|
||||||
a TCP socket.
|
|
||||||
<pre class="no-pretty-print">$ adb forward tcp:5277 tcp:5277</pre>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>Start the DHU by running the command <code>desktop-head-unit.exe</code> (on Windows)
|
|
||||||
or <code>./desktop-head-unit</code> (on Mac or Linux) from the
|
|
||||||
<code><sdk>/extras/google/auto/</code> directory.
|
|
||||||
|
|
||||||
<pre class="no-pretty-print">$ cd <sdk>/extras/google/auto
|
|
||||||
$ ./desktop-head-unit</pre>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
By default, the head unit server connects over port 5277. To override the host or port
|
|
||||||
(for example, to forward over SSH), use the
|
|
||||||
<code>desktop-head-unit --adb <[localhost:]port></code> flag, as in
|
|
||||||
the following example:
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<pre class="no-pretty-print">$ ./desktop-head-unit --adb 5999</pre>
|
|
||||||
|
|
||||||
</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
<div class="figure" style="width:432px">
|
|
||||||
|
|
||||||
<img src="{@docRoot}images/training/auto-desktop-head-unit-wkst-launch.png"
|
|
||||||
alt="" >
|
|
||||||
<p class="img-caption">
|
|
||||||
<strong>Figure 4.</strong> DHU launches on the development machine.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<img src="{@docRoot}images/training/auto-desktop-head-unit-launch.png"
|
|
||||||
alt="" >
|
|
||||||
<p class="img-caption">
|
|
||||||
<strong>Figure 3.</strong> Android Auto launches on the mobile device.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
After you set up and start the DHU, you can run DHU commands from the command line to run and
|
|
||||||
test your app from the terminal. You can also run these commands by using keyboard shortcuts. For
|
|
||||||
more information about DHU configuration and commands, see <a href=
|
|
||||||
"{@docRoot}tools/help/desktop-head-unit.html">Desktop Head Unit</a>.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
560
docs/html/training/auto/testing/index.jd
Normal file
560
docs/html/training/auto/testing/index.jd
Normal file
@@ -0,0 +1,560 @@
|
|||||||
|
page.title= Testing Apps for Auto
|
||||||
|
page.tags="auto", "car", "automotive"
|
||||||
|
page.article=true
|
||||||
|
|
||||||
|
@jd:body
|
||||||
|
|
||||||
|
<div id="tb-wrapper">
|
||||||
|
<div id="tb">
|
||||||
|
<h2>Dependencies and Prerequisites</h2>
|
||||||
|
<ul>
|
||||||
|
<li>Android 5.0 (API level 21) or higher</li>
|
||||||
|
<li>Android Auto companion app installed</li>
|
||||||
|
</ul>
|
||||||
|
<h2>In this document</h2>
|
||||||
|
<ol>
|
||||||
|
<li><a href="#install">Installing the DHU</a></li>
|
||||||
|
<li><a href="#running-dhu">Running the DHU</a></li>
|
||||||
|
<li><a href="#dhu-commands">Issuing DHU Commands</a></li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Testing your Auto app ensures that users do not encounter unexpected results or
|
||||||
|
have a poor experience when interacting with your apps. Android now provides
|
||||||
|
Desktop Head Unit (DHU), a testing tool for Auto apps that lets you test
|
||||||
|
pre-released versions of your Android Auto apps without having to work from
|
||||||
|
your car.</P>
|
||||||
|
|
||||||
|
<p>The Desktop Head Unit (DHU) enables your development machine to emulate an
|
||||||
|
Android Auto head unit, so you can easily run and test Android Auto apps.
|
||||||
|
The DHU runs on Windows, Mac, and Linux hosts and replaces previous Android Auto
|
||||||
|
simulators, such as the Android Media Browser and Messaging simulators.</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p class ="note"><strong>Note:</strong> It's important that you test your auto
|
||||||
|
app for the criteria listed on <a href={@docRoot}distribute/essentials/quality/auto.html>
|
||||||
|
Auto app quality </a> page prior to submitting to Google Play for review.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
This lesson teaches you how to install and run the DHU on your development
|
||||||
|
machine for testing your apps. Once you’ve
|
||||||
|
installed the DHU, you can test your Android Auto apps by connecting your phone
|
||||||
|
and workstation via USB.
|
||||||
|
|
||||||
|
<h2 id ="install"> Installing the DHU</h2>
|
||||||
|
<p>Follow these steps to install the DHU on your development machine:</p>
|
||||||
|
<li>Enable developer mode on your mobile device, as described in
|
||||||
|
<a href="{@docRoot}tools/device.html#developer-device-options">Enabling On-device
|
||||||
|
Developer Options</a>. </li>
|
||||||
|
<li>Compile your app in your development environment and install your app on
|
||||||
|
a physical mobile device running Android 5.0 (API level 21) or higher. To check the
|
||||||
|
version of Android on a Nexus device, go to
|
||||||
|
<strong>Settings > About phone</strong> (or <strong>About tablet</strong>) <strong>>
|
||||||
|
Android version</strong>.</li>
|
||||||
|
|
||||||
|
<li>Install the
|
||||||
|
<a class="external-link"
|
||||||
|
href="https://play.google.com/store/apps/details?id=com.google.android.projection.gearhead&hl=en"
|
||||||
|
>Android Auto app</a> on the mobile device.</li>
|
||||||
|
<li>Open the <a href="{@docRoot}tools/help/sdk-manager.html">SDK Manager</a> and
|
||||||
|
download the DHU package <strong>Android Auto Desktop Head Unit emulator</strong> from the
|
||||||
|
<em>SDK Tools</em> tab. The DHU installs in the <code><sdk>/extras/google/auto/</code>
|
||||||
|
directory.</li>
|
||||||
|
<li>If you are running the DHU on Linux, you must also install
|
||||||
|
the portaudio, libpng, sdl2, and sdl2_ttf libraries.
|
||||||
|
The procedure to do this varies depending on your Linux distribution. For example, on
|
||||||
|
Debian-derived Linux distributions, you can install the libraries with this command:
|
||||||
|
|
||||||
|
<pre class="no-pretty-print">
|
||||||
|
$ sudo apt-get install libsdl2-2.0-0 libsdl2-ttf-2.0-0 libportaudio2 libpng12-0
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
<div class="cols">
|
||||||
|
<div class="col-6">
|
||||||
|
<img src="{@docRoot}images/training/auto-desktop-head-unit-context-menu-enabled.png"
|
||||||
|
alt="" >
|
||||||
|
<p class="img-caption">
|
||||||
|
<strong>Figure 1.</strong> Context menu with developer options.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-6">
|
||||||
|
<img src="{@docRoot}images/training/auto-desktop-head-unit-server-running.png"
|
||||||
|
alt="" >
|
||||||
|
<p class="img-caption">
|
||||||
|
<strong>Figure 2.</strong> Notification that the head unit server is running.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div> <!-- end cols-->
|
||||||
|
|
||||||
|
|
||||||
|
<h2 id="running-dhu">Running the DHU</h2>
|
||||||
|
|
||||||
|
<p>Run the DHU by connecting your mobile device to a development machine and
|
||||||
|
setting up a connection to the head unit server over <a href="{@docRoot}tools/help/adb.html">Android Debug Bridge
|
||||||
|
(ADB)</a>. Follow these steps to set up tunneling and start the DHU:</p>
|
||||||
|
|
||||||
|
<ol>
|
||||||
|
<li>On the mobile device, enable Android Auto developer mode by starting the Android Auto
|
||||||
|
companion app, and then tapping the <i>Android Auto</i> toolbar title 10 times.
|
||||||
|
This step is only required the first time you run the companion app.
|
||||||
|
</li>
|
||||||
|
<li>If the server is not already running, select <strong>Start head unit server</strong>
|
||||||
|
from the Android Auto menu.
|
||||||
|
<p>On the device, a foreground service appears in the notification area. </p>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>In the Android Auto app, make sure the <strong>Only connect to known cars</strong> option
|
||||||
|
is disabled.</li>
|
||||||
|
|
||||||
|
<li>Connect the mobile device to the development machine via USB.</li>
|
||||||
|
|
||||||
|
<li>Make sure the mobile device has its screen unlocked, otherwise it cannot launch the DHU.</li>
|
||||||
|
|
||||||
|
<li>On the development machine, run the following {@code adb} command to
|
||||||
|
forward socket connections from the
|
||||||
|
development machine's port 5277 to the same port number on the Android device.
|
||||||
|
This configuration allows the DHU to connect to the head unit server running on your phone over
|
||||||
|
a TCP socket.
|
||||||
|
<pre class="no-pretty-print">$ adb forward tcp:5277 tcp:5277</pre>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>Start the DHU by running the command <code>desktop-head-unit.exe</code> (on Windows)
|
||||||
|
or <code>./desktop-head-unit</code> (on Mac or Linux) from the
|
||||||
|
<code><sdk>/extras/google/auto/</code> directory.
|
||||||
|
|
||||||
|
<pre class="no-pretty-print">$ cd <sdk>/extras/google/auto
|
||||||
|
$ ./desktop-head-unit</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
By default, the head unit server connects over port 5277. To override the host or port
|
||||||
|
(for example, to forward over SSH), use the
|
||||||
|
<code>desktop-head-unit --adb <[localhost:]port></code> flag, as in
|
||||||
|
the following example:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<pre class="no-pretty-print">$ ./desktop-head-unit --adb 5999</pre>
|
||||||
|
<p>
|
||||||
|
By default, the DHU emulates the most common form of Android Auto-compatible
|
||||||
|
head unit, which uses a touch screen user interface. You can simulate user
|
||||||
|
touches by clicking the DHU with a mouse. To emulate head units which use
|
||||||
|
a rotary controller for input, you can use the <code>-i controller</code> flag,
|
||||||
|
as in this example:
|
||||||
|
</p>
|
||||||
|
<pre class="no-pretty-print">$ ./desktop-head-unit -i controller</pre>
|
||||||
|
<p>
|
||||||
|
When the DHU is in rotary-controller mode you can simulate controller
|
||||||
|
operations by using keyboard shortcuts, as described in <a href=
|
||||||
|
"#cmd-bindings">DHU commands and key bindings</a>. If the DHU is in rotary
|
||||||
|
controller mode, it ignores mouse clicks; you must operate Android Auto with
|
||||||
|
the simulated rotary controller operations.
|
||||||
|
</p>
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="figure" style="width:432px">
|
||||||
|
|
||||||
|
<img src="{@docRoot}images/training/auto-desktop-head-unit-wkst-launch.png"
|
||||||
|
alt="" >
|
||||||
|
<p class="img-caption">
|
||||||
|
<strong>Figure 4.</strong> DHU launches on the development machine.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<img src="{@docRoot}images/training/auto-desktop-head-unit-launch.png"
|
||||||
|
alt="" >
|
||||||
|
<p class="img-caption">
|
||||||
|
<strong>Figure 3.</strong> Android Auto launches on the mobile device.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
After you set up and start the DHU, you can run DHU commands from the command
|
||||||
|
line to run and test your app from the terminal. You can also run these commands
|
||||||
|
by using keyboard shortcuts.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 id="dhu-commands">Issuing DHU Commands</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
DHU commands allow you to test your app with Android Auto features, such as
|
||||||
|
playing voice input or switching between night and day display mode. You can issue commands to
|
||||||
|
the DHU by running commands from the terminal window where you launched DHU.
|
||||||
|
You can also issue commands by selecting the DHU window and
|
||||||
|
using keyboard shortcuts. The DHU commands
|
||||||
|
and key bindings for all controls are listed in <a href="#cmd-bindings">DHU
|
||||||
|
commands and key bindings</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h3 id="day-night">Switching between day and night mode</h3>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Android Auto supports different color schemes for day and night. You should test your app in both
|
||||||
|
day and night mode. You can switch between night and day mode in either of the
|
||||||
|
following ways:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Run the command <code>daynight</code> in the terminal where you launched the DHU.
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>Select the DHU window and press the <strong>N</strong> key.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3>Microphone testing</h3>
|
||||||
|
|
||||||
|
<p>The DHU supports using a microphone for voice input. You can also instruct the DHU to treat
|
||||||
|
a pre-recorded voice track as input, as if the DHU had heard the track through the microphone.</p>
|
||||||
|
|
||||||
|
<p>To use a pre-recorded sound file as input, enter this command: </p>
|
||||||
|
<pre class="no-pretty-print">
|
||||||
|
$ mic play <sound_file_path>/<sound_file>.wav
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>For your convenience, we have provided the following sound files for common
|
||||||
|
voice commands. These sound files are installed in the
|
||||||
|
<code><sdk>/extras/google/auto/voice/</code> directory.</p>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dt>
|
||||||
|
<code>exitnav.wav</code>
|
||||||
|
</dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
|
"Exit navigation."
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt>
|
||||||
|
<code>navgoogle.wav</code>
|
||||||
|
</dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
|
"Navigate to 1600 Amphitheatre Parkway, Mountain View."
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt>
|
||||||
|
<code>navsoh.wav</code>
|
||||||
|
</dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
|
"Navigate to Sydney Opera House."
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt>
|
||||||
|
<code>nextturn.wav</code>
|
||||||
|
</dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
|
"When is my next turn?"
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt>
|
||||||
|
<code>showalternateroute.wav</code>
|
||||||
|
</dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
|
"Show alternate routes.""
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt>
|
||||||
|
<code>howlong.wav</code>
|
||||||
|
</dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
|
"How long until I get there?"
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt>
|
||||||
|
<code>navhome.wav</code>
|
||||||
|
</dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
|
"Navigate to home."
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt>
|
||||||
|
<code>navwork.wav</code>
|
||||||
|
</dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
|
"Navigate to work.""
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt>
|
||||||
|
<code>pause.wav</code>
|
||||||
|
</dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
|
"Pause music."
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt>
|
||||||
|
<code>showtraffic.wav</code>
|
||||||
|
</dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
|
"Show traffic."
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<h3 id="cmd-bindings">DHU commands and key bindings</h3>
|
||||||
|
|
||||||
|
<p>The DHU supports the following commands.</p>
|
||||||
|
|
||||||
|
<p class="table-caption" id="table-commands"><strong>Table 1.</strong> Commands and key bindings</p>
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>Category</th>
|
||||||
|
<th>Command</th>
|
||||||
|
<th>Subcommand</th>
|
||||||
|
<th>Argument(s)</th>
|
||||||
|
<th>Keyboard Shortcut(s)</th>
|
||||||
|
<th>Description</th>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<!--system-->
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td rowspan="4">System</td>
|
||||||
|
<td>help</td>
|
||||||
|
<td></td>
|
||||||
|
<td>[command]</td>
|
||||||
|
<td></td>
|
||||||
|
<td>Shows the full command set. Specifying a command name (for example, <code>help day</code>)
|
||||||
|
causes the system to show help for that command.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>quit</td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td>Alt+q</td>
|
||||||
|
<td>Quits the head unit.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>sleep</td>
|
||||||
|
<td></td>
|
||||||
|
<td>[seconds]</td>
|
||||||
|
<td></td>
|
||||||
|
<td>Sleeps for one second. Specifying an argument (for example, <code>sleep 30</code>) causes the
|
||||||
|
system to sleep the specified number of seconds. This command
|
||||||
|
is useful if you are writing scripts for the DHU. (You can run a script by using I/O redirection
|
||||||
|
from the command line: <code>./desktop-head-unit < script.txt</code> loads commands from the
|
||||||
|
file <code>script.txt</code>.)</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>screenshot</td>
|
||||||
|
<td></td>
|
||||||
|
<td>filename.png</td>
|
||||||
|
<td></td>
|
||||||
|
<td>Saves a screenshot to <code>filename.png</code>.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
|
||||||
|
<!--microphone-->
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td rowspan="3">Microphone</td>
|
||||||
|
<td rowspan="3">mic</td>
|
||||||
|
<td>begin</td>
|
||||||
|
<td></td>
|
||||||
|
<td>m </td>
|
||||||
|
<td>Activates the microphone (equivalent to clicking the steering wheel's microphone button) and
|
||||||
|
waits for input from the computer microphone.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
|
||||||
|
<td>play</td>
|
||||||
|
<td>filename.wav</td>
|
||||||
|
<td></td>
|
||||||
|
<td>Causes the DHU to treat <code>filename.wav</code> as voice input, as if it had heard that sound
|
||||||
|
through the microphone. You do not hear the sound file being played, but you do hear
|
||||||
|
the response from Android Auto.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
|
||||||
|
<td>repeat</td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td>Repeats the last <code>mic play</code> command, as if you had called <code>mic play</code>
|
||||||
|
again with the same sound file parameter.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<!--Input-->
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td rowspan="7">Input</td>
|
||||||
|
<td rowspan="6">dpad</td>
|
||||||
|
<td>up <br> down <br> left <br> right</td>
|
||||||
|
<td></td>
|
||||||
|
<td>Arrow keys</td>
|
||||||
|
<td>Simulates moving the rotary controller.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
|
||||||
|
<td>soft left <br> soft right</td>
|
||||||
|
<td></td>
|
||||||
|
<td>Shift+Arrow keys</td>
|
||||||
|
<td>Simulates pressing the side buttons available on some rotary controllers.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
|
||||||
|
<td>click</td>
|
||||||
|
<td></td>
|
||||||
|
<td>Return</td>
|
||||||
|
<td>Simulates pressing the rotary controller.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
|
||||||
|
<td>back</td>
|
||||||
|
<td></td>
|
||||||
|
<td>Backspace</td>
|
||||||
|
<td>Simulates pressing the <strong>back</strong> button available below some rotary
|
||||||
|
controllers.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
|
||||||
|
<td>rotate left <br> rotate right</td>
|
||||||
|
<td></td>
|
||||||
|
<td>1 <br> 2</td>
|
||||||
|
<td>Simulates rotating the rotary controller left (counter-clockwise) or right (clockwise).</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
|
||||||
|
<td>flick left <br> flick right</td>
|
||||||
|
<td></td>
|
||||||
|
<td>Shift+1 <br> Shift+2</td>
|
||||||
|
<td>Simulates a fast spin of the rotary controller to the left (counter-clockwise) or right
|
||||||
|
(clockwise).</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>tap</td>
|
||||||
|
<td></td>
|
||||||
|
<td>x y</td>
|
||||||
|
<td></td>
|
||||||
|
<td>Simulates a touch event at the specified coordinates. For example, <code>tap 50 100</code></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
|
||||||
|
<!--Day/Night-->
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td rowspan="3">Day/Night</td>
|
||||||
|
<td>day</td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td>Shift+n</td>
|
||||||
|
<td>Activates day mode (high brightness, full color).</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>night</td>
|
||||||
|
<td></td>
|
||||||
|
<td> </td>
|
||||||
|
<td>Ctrl+n </td>
|
||||||
|
<td>Activates night mode (low brightness, high contrast).</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>daynight</td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td>n </td>
|
||||||
|
<td>Toggles current day/night mode.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</table>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2 id="auto-simulators">Media Browser and Messaging Simulators</h2>
|
||||||
|
|
||||||
|
<p class="caution"><strong>Important:</strong> Use of the Android Media Browser and Messaging
|
||||||
|
Simulators for testing Android Auto apps is deprecated. Instead, we recommend using the
|
||||||
|
Desktop Head Unit, which enables your development machine to act as if it were an Android Auto head
|
||||||
|
unit.</p>
|
||||||
|
|
||||||
|
<p>To get the simulators, open the
|
||||||
|
<a href="{@docRoot}tools/help/sdk-manager.html">SDK Manager</a> and download
|
||||||
|
them from <strong>Extras > Android Auto API Simulators</strong>.</p>
|
||||||
|
|
||||||
|
<p>Before you begin testing, compile your app in your development environment.
|
||||||
|
Install your app and the Android simulator for the features you want to test
|
||||||
|
(that is, audio or messaging) on a physical or virtual device running Android
|
||||||
|
5.0 (API level 21) or higher. To check the version of Android on the device, go
|
||||||
|
to <strong>Settings > About phone</strong> (or <strong>About tablet</strong>)
|
||||||
|
<strong>> Android Version</strong>.</p>
|
||||||
|
|
||||||
|
<h3 id="testing-audio-apps">Testing audio apps</h3>
|
||||||
|
<p>To run and test audio apps:</p>
|
||||||
|
|
||||||
|
<ol>
|
||||||
|
<li>Install the Android Media Browser simulator
|
||||||
|
({@code <sdk>/extras/google/simulators/media-browser-simulator.apk}) on
|
||||||
|
the test device. You can do this using
|
||||||
|
the <a href="{@docRoot}tools/help/adb.html#move">adb</a> command line tool.</li>
|
||||||
|
<li>Enable <a href="{@docRoot}tools/device.html#developer-device-options">
|
||||||
|
developer options</a> on the test device.</li>
|
||||||
|
<li>Install your app on the test device.</li>
|
||||||
|
<li>Launch the Android Media Browser simulator to see how your audio app
|
||||||
|
appears in Auto. If your app does not appear, stop the simulator from
|
||||||
|
<strong>Settings > Apps</strong> and restart it.</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
|
||||||
|
<h3 id="testing-messaging-apps">Testing messaging apps</h3>
|
||||||
|
<p>To run and test messaging apps:</p>
|
||||||
|
|
||||||
|
<ol>
|
||||||
|
<li>Install the Android Messaging simulator
|
||||||
|
({@code <sdk>/extras/google/simulators/messaging-simulator.apk})
|
||||||
|
on the test device. You can do this using the
|
||||||
|
<a href="{@docRoot}tools/help/adb.html#move">adb</a> command line tool.</li>
|
||||||
|
<li>Enable the simulator to read notifications posted on the system:
|
||||||
|
<ol type="a">
|
||||||
|
<li>Enable <a href="{@docRoot}tools/device.html#developer-device-options">
|
||||||
|
developer options</a> on the test device.</li>
|
||||||
|
<li>Click <strong>Settings > Sounds & Notifications > Notification
|
||||||
|
Access</strong> and check the box labeled
|
||||||
|
<strong>Messaging Simulator</strong>.</li>
|
||||||
|
</ol>
|
||||||
|
<li>Install your app on the test device.</li>
|
||||||
|
<li>Launch the Android Messaging Simulator to see how your messaging app appears
|
||||||
|
in Auto. If your app does not appear, stop the simulator from
|
||||||
|
<strong>Settings > Apps</strong> and restart it.</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
|
||||||
@@ -1178,6 +1178,11 @@
|
|||||||
description="How to extend text messaging apps to work with Auto devices.">
|
description="How to extend text messaging apps to work with Auto devices.">
|
||||||
Messaging for Auto</a>
|
Messaging for Auto</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="<?cs var:toroot ?>training/auto/testing/index.html" description=
|
||||||
|
"How to run and test Auto apps.">
|
||||||
|
Testing Auto Apps</a>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<!-- End: Building for Auto -->
|
<!-- End: Building for Auto -->
|
||||||
|
|||||||
Reference in New Issue
Block a user