This directory contains textpb files used as AVD config files by the script
tools/android/avd/avd.py
- textpb files under
./creation
are foravd.py create
. - The ones directly under this directory are for
avd.py install
andavd.py start
.
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>.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
->arm
arm64-v8a
->arm64
x86
->x86
x86_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
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.json
and fill in with the "properties" value from the android-avd-packager (example). Then remove the unwanted avd configs from theavd_configs
field.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
bb
command 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
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.