Split "Start Android emulator" into two steps

Currently the “Start Android emulator” step does two things:

  • Start Android emulator
  • Wait till it’s booted fully

This generates an unnecessarily long build time
I’ve been doing some preliminary tests and seems to be very possible to split that into two.

That way developers are able to organize the workflow as such:

  • Create Android Emulator
  • Start Android Emulator (doesn’t wait for boot)
  • git clone (download everything)
  • run gradlew with base build (this will take time as it have to download dependencies, etc, etc)
  • Wait for Android Emulator (until here stuff probably booted already)
  • run android tests
1 Like

Awesome idea!

If you’d get a working example workflow please share it with us here :wink:

I also marked this feature request with #contrib-this-feature, as this can possible be contributed by the community, or if it gets enough vote here we’ll do it ourselves :wink:

hi @viktorbenei

So I’ve “done” it and it’s running my builds.

“done” was used with quotation marks because I see some stuff the previous script was doing to make sure that exactly emulator was booted for cases where there’re several emulators running and my version had to cut it short because:

a. Being separated into two steps makes it more complex to achieve it
b. I’m not very good on ruby.

But it solves the basic use case of having 1 emulator running that can run tests faster.

The steps are just two different branches of the original step with stuff removed from step.rb.

I’ve added to my project using your previous answer Is it possible to test a step directly on bitrise.io?

On my last build the booting up the emulator ran for 18 seconds and waiting for it to finish boot took 11 seconds.

If anyone wants to use/test/contribute you can find them on links below:

Boot device up

https://github.com/budius/steps-start-android-emulator/tree/bootup

Wait for device

https://github.com/budius/steps-start-android-emulator/tree/wait

1 Like

Fantastic, thank you @sb_ronaldopace for sharing the infos & your modified step versions! :slight_smile:

This is now fully supported, using the new Wait for Android emulator step.

Related #how-to guide:

Thank you @sb_ronaldopace for the #feature-request!

2 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.