From 0238bf248095682b870732432095a987ee558aa2 Mon Sep 17 00:00:00 2001 From: Rich Slogar Date: Thu, 23 Jul 2015 16:05:27 -0700 Subject: docs: New auto Desktop Head Unit (DHU) docs See comment on patch set 9 for doc stage location. bug:22069078 bug:23341937 Change-Id: I21565b82199394622ce4113b42174277c0248998 --- ...auto-desktop-head-unit-context-menu-enabled.png | Bin 0 -> 90455 bytes .../training/auto-desktop-head-unit-launch.png | Bin 0 -> 30383 bytes .../auto-desktop-head-unit-server-running.png | Bin 0 -> 75541 bytes .../auto-desktop-head-unit-wkst-launch.png | Bin 0 -> 99713 bytes docs/html/tools/help/desktop-head-unit.jd | 439 +++++++++++++++++++++ docs/html/tools/tools_toc.cs | 1 + docs/html/training/auto/start/index.jd | 155 +++++--- 7 files changed, 551 insertions(+), 44 deletions(-) create mode 100644 docs/html/images/training/auto-desktop-head-unit-context-menu-enabled.png create mode 100644 docs/html/images/training/auto-desktop-head-unit-launch.png create mode 100644 docs/html/images/training/auto-desktop-head-unit-server-running.png create mode 100644 docs/html/images/training/auto-desktop-head-unit-wkst-launch.png create mode 100644 docs/html/tools/help/desktop-head-unit.jd diff --git a/docs/html/images/training/auto-desktop-head-unit-context-menu-enabled.png b/docs/html/images/training/auto-desktop-head-unit-context-menu-enabled.png new file mode 100644 index 0000000..99e60e9 Binary files /dev/null and b/docs/html/images/training/auto-desktop-head-unit-context-menu-enabled.png differ diff --git a/docs/html/images/training/auto-desktop-head-unit-launch.png b/docs/html/images/training/auto-desktop-head-unit-launch.png new file mode 100644 index 0000000..012857a Binary files /dev/null and b/docs/html/images/training/auto-desktop-head-unit-launch.png differ diff --git a/docs/html/images/training/auto-desktop-head-unit-server-running.png b/docs/html/images/training/auto-desktop-head-unit-server-running.png new file mode 100644 index 0000000..5aa3b83 Binary files /dev/null and b/docs/html/images/training/auto-desktop-head-unit-server-running.png differ diff --git a/docs/html/images/training/auto-desktop-head-unit-wkst-launch.png b/docs/html/images/training/auto-desktop-head-unit-wkst-launch.png new file mode 100644 index 0000000..4d48ac4 Binary files /dev/null and b/docs/html/images/training/auto-desktop-head-unit-wkst-launch.png differ diff --git a/docs/html/tools/help/desktop-head-unit.jd b/docs/html/tools/help/desktop-head-unit.jd new file mode 100644 index 0000000..981979c --- /dev/null +++ b/docs/html/tools/help/desktop-head-unit.jd @@ -0,0 +1,439 @@ +page.title=Desktop Head Unit +page.tags="auto", "car", "testing","dhu" +@jd:body + + +
+
+ +

In this document

+
    +
  1. Launching the DHU
  2. +
  3. Issuing DHU Commands
  4. +
+ +

See also

+
    +
  1. Run and Test Auto Apps
  2. +
+ +
+
+ + +

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.

+ +

Note: For other information about testing Auto apps, see the +training lesson +Run and Test Auto Apps.

+ + +

Launching the DHU

+ +

+ To launch the DHU, run the desktop-head-unit.exe (on Windows) + or desktop-head-unit (on Mac or Linux) command, as described in + Connecting + the DHU to your mobile device. +

+ +

+ 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 -i controller flag, + as in this example: +

+ +
$ ./desktop-head-unit -i controller
+ +

+ When the DHU is in rotary-controller mode you can simulate controller + operations by using keyboard shortcuts, as described in DHU commands and key bindings. If the DHU is in rotary + controller mode, it ignores mouse clicks; you must operate Android Auto with + the simulated rotary controller operations. +

+ +

Issuing DHU Commands

+ +

+ 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 DHU + commands and key bindings. +

+ + +

Switching between day and night mode

+ +

+ 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: +

+ + + +

Microphone testing

+ +

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.

+ +

To use a pre-recorded sound file as input, enter this command:

+
+$ mic play <sound_file_path>/<sound_file>.wav
+
+ +

For your convenience, we have provided the following sound files for common +voice commands. These sound files are installed in the +<sdk>/extras/google/auto/voice/ directory.

+ +
+
+ exitnav.wav +
+ +
+ "Exit navigation." +
+ +
+ navgoogle.wav +
+ +
+ "Navigate to 1600 Amphitheatre Parkway, Mountain View." +
+ +
+ navsoh.wav +
+ +
+ "Navigate to Sydney Opera House." +
+ +
+ nextturn.wav +
+ +
+ "When is my next turn?" +
+ +
+ showalternateroute.wav +
+ +
+ "Show alternate routes."" +
+ +
+ howlong.wav +
+ +
+ "How long until I get there?" +
+ +
+ navhome.wav +
+ +
+ "Navigate to home." +
+ +
+ navwork.wav +
+ +
+ "Navigate to work."" +
+ +
+ pause.wav +
+ +
+ "Pause music." +
+ +
+ showtraffic.wav +
+ +
+ "Show traffic." +
+
+

DHU commands and key bindings

+ +

The DHU supports the following commands.

+ +

Table 1. Commands and key bindings

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CategoryCommandSubcommandArgument(s)Keyboard Shortcut(s)Description
Systemhelp[command]Shows the full command set. Specifying a command name (for example, help day) + causes the system to show help for that command.
quitAlt+qQuits the head unit.
sleep[seconds]Sleeps for one second. Specifying an argument (for example, sleep 30) 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: ./desktop-head-unit < script.txt loads commands from the +file script.txt.)
screenshotfilename.pngSaves a screenshot to filename.png.
Microphonemicbeginm Activates the microphone (equivalent to clicking the steering wheel's microphone button) and +waits for input from the computer microphone.
playfilename.wavCauses the DHU to treat filename.wav 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.
repeatRepeats the last mic play command, as if you had called mic play + again with the same sound file parameter.
Inputdpadup
down
left
right
Arrow keysSimulates moving the rotary controller.
soft left
soft right
Shift+Arrow keysSimulates pressing the side buttons available on some rotary controllers.
clickReturnSimulates pressing the rotary controller.
backBackspaceSimulates pressing the back button available below some rotary + controllers.
rotate left
rotate right
1
2
Simulates rotating the rotary controller left (counter-clockwise) or right (clockwise).
flick left
flick right
Shift+1
Shift+2
Simulates a fast spin of the rotary controller to the left (counter-clockwise) or right + (clockwise).
tapx ySimulates a touch event at the specified coordinates. For example, tap 50 100
Day/NightdayShift+nActivates day mode (high brightness, full color).
night Ctrl+n Activates night mode (low brightness, high contrast).
daynightn Toggles current day/night mode.
+ + + + +

Media Browser and Messaging Simulators

+ +

Important: 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.

+ +

To get the simulators, open the +SDK Manager and download +them from Extras > Android Auto API Simulators.

+ +

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 Settings > About phone (or About tablet) +> Android Version.

+ +

Testing audio apps

+

To run and test audio apps:

+ +
    +
  1. 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 adb command line tool.
  2. +
  3. Enable +developer options on the test device.
  4. +
  5. Install your app on the test device.
  6. +
  7. 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 +Settings > Apps and restart it.
  8. +
+ + +

Testing messaging apps

+

To run and test messaging apps:

+ +
    +
  1. Install the Android Messaging simulator + ({@code <sdk>/extras/google/simulators/messaging-simulator.apk}) +on the test device. You can do this using the +adb command line tool.
  2. +
  3. Enable the simulator to read notifications posted on the system: +
      +
    1. Enable +developer options on the test device.
    2. +
    3. Click Settings > Sounds & Notifications > Notification + Access and check the box labeled + Messaging Simulator.
    4. +
    +
  4. Install your app on the test device.
  5. +
  6. Launch the Android Messaging Simulator to see how your messaging app appears +in Auto. If your app does not appear, stop the simulator from +Settings > Apps and restart it.
  7. +
+ + + + diff --git a/docs/html/tools/tools_toc.cs b/docs/html/tools/tools_toc.cs index db19d4f..72f9f21 100644 --- a/docs/html/tools/tools_toc.cs +++ b/docs/html/tools/tools_toc.cs @@ -160,6 +160,7 @@ class="en">Tools Help
  • AVD Manager
  • bmgr
  • Device Monitor
  • +
  • Desktop Head Unit
  • dmtracedump
  • Draw 9-Patch
  • Emulator
  • diff --git a/docs/html/training/auto/start/index.jd b/docs/html/training/auto/start/index.jd index 22e7521..f6cdbd1 100644 --- a/docs/html/training/auto/start/index.jd +++ b/docs/html/training/auto/start/index.jd @@ -16,7 +16,7 @@ page.image=auto/images/assets/icons/auto_app_in_simulator.png
    1. Set Up an Auto Project
    2. Build Auto Apps
    3. -
    4. Run and Test Auto Apps
    5. +
    6. Run and Test Auto Apps

    You should also read

    @@ -149,57 +149,124 @@ requirements, you can reduce the effort for building and testing your app. For more information, see Auto App Quality.

    -

    Run and Test Auto Apps

    -

    As you prepare to publish your app, make sure that your app looks correct -when projected on the Auto user interface. Use the Android Media Browser -simulator and Android Messaging simulators to view and test your audio or -messaging apps in a screen that looks similar to what is projected on Auto.

    -

    To get the simulators, open the -SDK Manager and download -them from Extras > Android Auto API Simulators.

    +

    Run and Test Auto Apps

    -

    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 Settings > About > Android Version.

    +

    + As you develop, you can run and test your app on your development machine + using the Desktop Head Unit (DHU). The DHU replaces the existing + simulators and enables your development machine to simulate a vehicle + dashboard system running Android Auto. +

    -

    Testing audio apps

    -

    To run and test audio apps:

    +

    Installing the DHU

      -
    1. 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 adb command line tool.
    2. -
    3. Enable -developer options on the test device.
    4. -
    5. Install your app on the test device.
    6. -
    7. 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 -Settings > Apps then restart it.
    8. +
    9. Enable developer mode on your mobile device, as described in + Enabling On-device + Developer Options.
    10. +
    11. 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 + Settings > About phone (or About tablet) > + Android version.
    12. + +
    13. Install the + Android Auto app on the mobile device.
    14. +
    15. Open the SDK Manager and + download the DHU package Android Auto Desktop Head Unit from the + SDK Tools tab. The DHU installs in the <sdk>/extras/google/auto/ + directory.
    16. +
    17. 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: + +
      +$ sudo apt-get install libsdl2-2.0-0 libsdl2-ttf-2.0-0 libportaudio2 libpng12-0
      +
      + +
    -

    Testing messaging apps

    -

    To run and test messaging apps:

    +
    + +

    + Figure 2. Notification that the head unit server is running. +

    +
    + +

    + Figure 1. Context menu with developer options. +

    + +

    Connecting the DHU to your mobile device

    + +

    Run the DHU by connecting your mobile device to a development machine and setting up a connection to + the head unit server over Android Debug Bridge + (ADB). Follow these steps to set up tunneling and start the DHU:

      -
    1. Install the Android Messaging simulator - ({@code <sdk>/extras/google/simulators/messaging-simulator.apk}) -on the test device. You can do this using the -adb command line tool.
    2. -
    3. Enable the simulator to read notifications posted on the system: -
        -
      1. Enable -developer options on the test device.
      2. -
      3. Click Settings > Sounds & Notifications > Notification - Access and check the box labeled - Messaging Simulator.
      4. -
      -
    4. Install your app on the test device.
    5. -
    6. Launch the Android Messaging Simulator to see how your messaging app appears -in Auto. If your app does not appear, stop the simulator from -Settings > Apps then restart it.
    7. +
    8. On the mobile device, enable Android Auto developer mode by starting the Android Auto + companion app, and then tapping the header image 10 times. + This step is only required the first time you run the companion app. +
    9. +
    10. If the server is not already running, select Start head unit server + from the Android Auto menu. +

      On the device, a foreground service appears in the notification area.

      +
    11. + +
    12. Connect the mobile device to the development machine via USB. Your device must be unlocked to + launch the DHU. +
    13. +
    14. 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. +
      $ adb forward tcp:5277 tcp:5277
      +
    15. + +
    16. Start the DHU by running the command desktop-head-unit.exe (on Windows) + or ./desktop-head-unit (on Mac or Linux) from the + <sdk>/extras/google/auto/ directory. + +
      $ cd <sdk>/extras/google/auto
      +$ ./desktop-head-unit
      + +

      + By default, the head unit server connects over port 5277. To override the host or port + (for example, to forward over SSH), use the --adb flag. +

      + +
    + +
    + + +

    + Figure 4. DHU launches on the development machine. +

    +
    + + +

    + Figure 3. Android Auto launches on the mobile device. +

    + +

    + 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 Desktop Head Unit. +

    + + -- cgit v1.1