Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Android emulator images #1509

Closed
1 of 6 tasks
eric-labelle opened this issue Aug 28, 2020 · 3 comments
Closed
1 of 6 tasks

Add Android emulator images #1509

eric-labelle opened this issue Aug 28, 2020 · 3 comments

Comments

@eric-labelle
Copy link

Tool information

  • Tool name: android emulator images
  • Add or update? Add
  • Desired version:
- system-images;android-23;default;x86
- system-images;android-23;google_apis;x86
- system-images;android-24;google_apis;x86
- system-images;android-24;google_apis_playstore;x86
- system-images;android-25;google_apis;x86
- system-images;android-25;google_apis_playstore;x86
- system-images;android-26;google_apis;x86
- system-images;android-26;google_apis_playstore;x86
- system-images;android-27;google_apis;x86
- system-images;android-27;google_apis_playstore;x86
- system-images;android-28;default;x86
- system-images;android-28;google_apis;x86
- system-images;android-28;google_apis_playstore;x86
- system-images;android-29;google_apis;x86
- system-images;android-29;google_apis_playstore;x86
- system-images;android-30;google_apis;x86
- system-images;android-30;google_apis_playstore;x86
  • Approximate size: ~50GB
  • If this is an add request:
// This will download the default system image for API28
echo "y" | $ANDROID_HOME/tools/bin/sdkmanager --install 'system-images;android-28;default;x86'
--
// This will create an avd for API28 (you can test all system images if needed)
echo "no" | $ANDROID_HOME/tools/bin/avdmanager create avd -n android_emulator -k 'system-images;android-28;default;x86'
// Validate it's successfully created (you should see one avd named android_emulator)
avdmanager list avd

Area for Triage:
Android

Question, Bug, or Feature?:
"Feature"

Virtual environments affected

  • macOS 10.15
  • Ubuntu 16.04 LTS
  • Ubuntu 18.04 LTS
  • Ubuntu 20.04 LTS
  • Windows Server 2016 R2
  • Windows Server 2019

** I only use macOS images, but this could be beneficial for any OS since I'm sure people run Android UI Tests on any OS.

Can this tool be installed during the build?
Yes, but that's what I'm trying to prevent since It takes an additional 2min+ on every pipelines

Tool installation time in runtime
~2min to download system image depending on network speed

Are you willing to submit a PR?
Yes, but the OSX image generation script is still not available for contributions

@maxim-lobanov
Copy link
Contributor

Hello, thank you for suggestion.
Unfortunately, 50 Gb is very huge size that we can't afford to pre-install on images due to maintenance concerns (it will significantly increase image-generation time, image promotion, deployment time).
Also, previously, we have already discussed installing the latest emulators in #663 and #836 but we don't have such plans for now.

As you mentioned above, emulators can be pre-installed in runtime using sdkmanager. If you would like to speed up installation in runtime, I suggest to take a look at actions/cache. It is official GH task that allows to cache binaries between builds. It can be used to cache downloaded system images

@eric-labelle
Copy link
Author

Then why all the iOS simulator images are already installed?
I know it's huge, but at least one or two images would be nice. I currently use the azure pipeline cache task, but it's really slow and almost take more time to fetch the image from cache compared to simply redownloading it.

@maxim-lobanov
Copy link
Contributor

Those iOS simulators are distributed as a part of Xcode versions. We don't pre-install additional iOS simulators for the same reason: #551.
Sorry for inconvenience, we should be very selective about installing new software to avoid maintenance hell.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants