1# AAOS car AVD tools
2This folder contains scripts to help you sharing and running car AVD images.
3
4## Build an Car AVD image
5This builds AOSP car x86_64 userdebug AVD.
6```
7. device/generic/car/tools/mk_car_avd.sh
8```
9
10## Pack an AVD image
11If you plan to share the AVD with others or run on other host via Android Emulator directly, you can pack necessary image files to $HOME/Downloads/x86_64
12```
13device/generic/car/tools/test_pack_avd_img.sh
14```
15* You can use it as an example to create your own script for an AVD target by pack_avd_img.sh.
16* pack_avd_img.sh contains brief descriptions of each file needed.
17
18## Start an AVD
19
20### New AVD config
21To create a clean local AVD config and run with the latest Android Emulator engine from the SDK.
22```
23device/generic/car/tools/test_run_local_avd.sh
24```
25
26To run the existing AVD config.
27```
28device/generic/car/tools/run_local_avd.sh
29```
30
31### Multiple AVDs
32run_local_avd.sh allows you to setup and run multiple AVDs. You can crease a script for each of them. e.g.
33```
34AVD_IMAGE_DIR=$HOME/avd/aosp_car_x86_64/x86_64 \
35  WORKDIR=$HOME/avd/aosp_car_x86_64 \
36  ABI="x86_64" \
37  $SCRIPT_DIR/tools/run_local_avd.sh
38```
39* Deleting the WORKDIR will let the script create it from scratch next time as the 1st run.
40
41### Change the config
42The default AVD config.ini are created as the following default settings at the 1st run. You can also change them at the 1st run, e.g.
43```
44ANDROID_SDK_ROOT="/Users/$USER/Library/Android/sdk" \
45  WORKDIR="$HOME/avd/aosp_car_x86_64" \
46  AVD_IMAGE_DIR="$HOME/avd/aosp_car_x86_64/x86_64" \
47  ABI="x86_64" \
48  DISPLAY_DENSITY=213 \
49  DISPLAY_WIDTH=1920 \
50  DISPLAY_HEIGHT=1080 \
51  RAM_MB=3584 \
52  ./run_local_avd.sh
53```
54
55The AVD can also be changed by editing the AVD config.ini directily, e.g. at:
56```
57$WORKDIR/.android/avd/my_car_avd_x86_64.avd/config.ini
58```
59
60### Android Emulator startup options
61You can append [Android Emulator Command-line startup options](https://developer.android.com/studio/run/emulator-commandline#common) as needed. E.g.
62  * to wipe user data:  ./run_local_avd.sh -wipe-data
63  * to cold boot: ./run_local_avd.sh -no-snapshot-load
64