diff --git a/docs/html/_redirects.yaml b/docs/html/_redirects.yaml index 0e5417f2036b4..3647453a81b0e 100644 --- a/docs/html/_redirects.yaml +++ b/docs/html/_redirects.yaml @@ -947,6 +947,8 @@ redirects: to: /studio/command-line/bmgr.html - from: /tools/help/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 to: /studio/run/emulator-commandline.html - from: /tools/help/etc1tool.html diff --git a/docs/html/training/_book.yaml b/docs/html/training/_book.yaml index 8f8fab20ad12e..47c690406d7e9 100644 --- a/docs/html/training/_book.yaml +++ b/docs/html/training/_book.yaml @@ -748,6 +748,11 @@ toc: path_attributes: - name: description 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 path: /training/enterprise/index.html diff --git a/docs/html/training/auto/start/index.jd b/docs/html/training/auto/start/index.jd index 0206a24a9b8f5..202e2c05d86a5 100644 --- a/docs/html/training/auto/start/index.jd +++ b/docs/html/training/auto/start/index.jd @@ -16,7 +16,6 @@ page.image=auto/images/assets/icons/auto_app_in_simulator.png
- 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. -
- -<sdk>/extras/google/auto/
- directory.-$ sudo apt-get install libsdl2-2.0-0 libsdl2-ttf-2.0-0 libportaudio2 libpng12-0 -- -
- - Figure 1. Context menu with developer options. -
-
- - Figure 2. Notification that the head unit server is running. -
-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:
- -On the device, a foreground service appears in the notification area.
-$ adb forward tcp:5277 tcp:5277-
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
- desktop-head-unit --adb <[localhost:]port> flag, as in
- the following example:
-
$ ./desktop-head-unit --adb 5999- -
- - 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. -
- diff --git a/docs/html/training/auto/testing/index.jd b/docs/html/training/auto/testing/index.jd new file mode 100644 index 0000000000000..c93012fab3518 --- /dev/null +++ b/docs/html/training/auto/testing/index.jd @@ -0,0 +1,560 @@ +page.title= Testing Apps for Auto +page.tags="auto", "car", "automotive" +page.article=true + +@jd:body + ++ 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.
+ +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: It's important that you test your auto + app for the criteria listed on + Auto app quality page prior to submitting to Google Play for review. +
++ 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. + +
Follow these steps to install the DHU on your development machine:
+<sdk>/extras/google/auto/
+ directory.+$ sudo apt-get install libsdl2-2.0-0 libsdl2-ttf-2.0-0 libportaudio2 libpng12-0 ++ +
+ + Figure 1. Context menu with developer options. +
+
+ + Figure 2. Notification that the head unit server is running. +
+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:
+ +On the device, a foreground service appears in the notification area.
+$ adb forward tcp:5277 tcp:5277+
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
+ desktop-head-unit --adb <[localhost:]port> flag, as in
+ the following example:
+
$ ./desktop-head-unit --adb 5999+
+ 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. +
+
+ + 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. +
+ ++ 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. +
+ + ++ 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: +
+ +daynight in the terminal where you launched the DHU.
+ 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
+ navgoogle.wav
+ navsoh.wav
+ nextturn.wav
+ showalternateroute.wav
+ howlong.wav
+ navhome.wav
+ navwork.wav
+ pause.wav
+ showtraffic.wav
+ The DHU supports the following commands.
+ +Table 1. Commands and key bindings
+| Category | +Command | +Subcommand | +Argument(s) | +Keyboard Shortcut(s) | +Description | +
|---|---|---|---|---|---|
| System | +help | ++ | [command] | ++ | Shows the full command set. Specifying a command name (for example, help day)
+ causes the system to show help for that command. |
+
| quit | ++ | + | Alt+q | +Quits 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.) |
+|
| screenshot | ++ | filename.png | ++ | Saves a screenshot to filename.png. |
+|
| Microphone | +mic | +begin | ++ | m | +Activates the microphone (equivalent to clicking the steering wheel's microphone button) and +waits for input from the computer microphone. | +
| play | +filename.wav | ++ | Causes 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. |
+||
| repeat | ++ | + | Repeats the last mic play command, as if you had called mic play
+ again with the same sound file parameter. |
+||
| Input | +dpad | +up down left right |
++ | Arrow keys | +Simulates moving the rotary controller. | +
| soft left soft right |
++ | Shift+Arrow keys | +Simulates pressing the side buttons available on some rotary controllers. | +||
| click | ++ | Return | +Simulates pressing the rotary controller. | +||
| back | ++ | Backspace | +Simulates 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). | +||
| tap | ++ | x y | ++ | Simulates a touch event at the specified coordinates. For example, tap 50 100 |
+|
| Day/Night | +day | ++ | + | Shift+n | +Activates day mode (high brightness, full color). | +
| night | ++ | + | Ctrl+n | +Activates night mode (low brightness, high contrast). | +|
| daynight | ++ | + | n | +Toggles current day/night mode. | +
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.
+ +To run and test audio apps:
+ +To run and test messaging apps:
+ +