AVD config files
This directory contains textpb files used as AVD config files by the scripts
like tools/android/avd/avd.py and build/android/test_runner.py
- Creation config files under
./proto_creation. - Production config files under
./proto.
Naming scheme
As more image types (google_apis, google_atd, etc.) and cpu architectures
(x86, x86_64, etc.) are added, the following naming scheme is suggested to
use when adding new config files:
android_<API level>_<image type>_<cpu arch>[_<other info>].textpb
For simplicity, we do the following convention for the cpu architectures, from the values in android sdk manager to those in the config file names.
armeabi-v7a->armarm64-v8a->arm64x86->x86x86_64->x64
So for a new config that uses API level 31, image type "google_apis", cpu arch
"x86_64", the file name would be android_31_google_apis_x64.textpb
For another example, a foldable AVD with landscape view can have the file name
android_32_google_apis_x64_foldable_landscape.textpb
Creation config files
These files are normally used only by the builder android-avd-packager. It is not expected for end users to use them.
For developers who try to create new AVD packages through the above packager, instead of triggering one build that re-packages every AVD configs which could takes 3+ hours, the following steps can be used to package only certain configs.
-
Ensure you have
depot_tools(link) checked out in your local machine. -
Create a json file say
android-avd.jsonand fill in with the "properties" value from the android-avd-packager (example). Then remove the unwanted avd configs from theavd_configsfield.Here is an example of a json file that packages only two AVD configs:
{ "$build/avd_packager": { "avd_configs": [ "tools/android/avd/proto_creation/android_30_google_atd_x86.textpb", "tools/android/avd/proto_creation/android_30_google_atd_x64.textpb" ], "gclient_config": "chromium", "gclient_apply_config": ["android"] } } -
Call
bbcommand to trigger a new build on android-avd-packager with the property file from the above step.bb add -p @android-avd.json chromium/ci/android-avd-packager
Production config files
These files can use by ./avd.py start and ./avd.py install, as well as the
android test runner build/android/test_runner.py, via the flag --avd-config.
When updating these files, please make sure the versions of emulator and system image are the same as the tag values in the to-be-updated AVD CIPD package. Failure to do so will cause the AVD quick boot feature to fail to work properly.