[go: nahoru, domu]

tree: 68caea3b45e9ec838032b8806d3a932cbb926846 [path history] [tgz]
  1. creation/
  2. android_28_google_apis_x86.textpb
  3. android_29_google_apis_x86.textpb
  4. android_30_google_apis_x86.textpb
  5. android_30_google_atd_x64.textpb
  6. android_30_google_atd_x86.textpb
  7. android_31_google_atd_x64.textpb
  8. android_32_google_atd_x64_foldable.textpb
  9. android_33_google_atd_x64.textpb
  10. android_34_google_apis_x64.textpb
  11. generic_android19.textpb
  12. generic_android22.textpb
  13. generic_android23.textpb
  14. generic_android23_tablet.textpb
  15. generic_android24.textpb
  16. generic_android25.textpb
  17. generic_android26.textpb
  18. generic_android27.textpb
  19. generic_android28.textpb
  20. generic_android29.textpb
  21. generic_android30.textpb
  22. generic_android31.textpb
  23. generic_android32_foldable.textpb
  24. generic_android32_foldable_experimental.textpb
  25. generic_android33.textpb
  26. generic_android33_experimental.textpb
  27. README.md
tools/android/avd/proto/README.md

AVD config files

This directory contains textpb files used as AVD config files by the script tools/android/avd/avd.py

  1. textpb files under ./creation are for avd.py create.
  2. The ones directly under this directory are for avd.py install and avd.py start.

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

Config files for avd.py create

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 the avd_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
    

Config files for avd.py install and avd.py start

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.