docker-android icon indicating copy to clipboard operation
docker-android copied to clipboard

[🚀 Feature Request ]: Support EMULATOR_SYS_IMG argument

Open Tpuljak opened this issue 2 years ago • 4 comments

Idea

It would be great if the SYS_IMG could be passed as an argument.

This would allow, for example, armeabi-v7a to be selected as the image which can be run without KVM. This project has a no-KVM emulator example which I managed to run successfully.

This would also require the change_permission function in emulator.py to not throw an exception if /dev/kvm is not available.

I understand that the emulator would be slow without KVM, but I believe it would make the project much more versatile without many changes.

Probelm to solve

Running the emulator without KVM

Additional Note

No response

Tpuljak avatar Jun 14 '23 16:06 Tpuljak

Hi @Tpuljak ,

thank you for your issue. I did support it long time ago and have decided to drop the supports (I think 3 or 4 years ago) because it is very slow, it take around 5-10 minutes to wait until the emulator is ready to use (it takes seconds by using kvm) and each click (without kvm), you need to wait for few seconds. of course, it depends on the machine as well. how was your experience of using it? how long it take until the emulator is ready to use? I need to check by myself as well if the performance is really improved

budtmo avatar Jun 14 '23 17:06 budtmo

Thanks for the reply @budtmo.

The experience is not great 😅 It is really slow, but, unfortunately, I have to run an emulator with Appium without KVM. Your project is great because it already includes Appium and NoVNC. I just wished it was flexible enough to allow the SYS_IMG as a parameter and not throw if kvm is unavailable.

From your perspective, you could just throw out a warning that the emulator would be really slow if KVM is not available.

Tpuljak avatar Jun 14 '23 17:06 Tpuljak

Hi @Tpuljak ,

if you want to run automation test using Appium using that system image, you might have flaky test unless you set a custom long timeout to wait the element. besides, the time execution will take hours just to run few test. I am not sure if it is what you want.

budtmo avatar Jun 14 '23 17:06 budtmo

@budtmo, yeah I understand. I might fork your repo and try to implement it myself and let you know how it goes. If I can manage to find a viable setup, I'll contribute with a PR.

Tpuljak avatar Jun 15 '23 07:06 Tpuljak