Right now, emulators are started like this:
This is not always what you want since while testing, there can be other tooling which connects to this device externally and when using ddmlib, it does not find that emulator since it scans 5554-5585 only but emulator is started outside this range.
In android jenkins plugin, there is a "trick" how to avoid this, adb binary executes
but ddmlib is not able to mimic this behaviour so tooling which depends on it are lost in finding emulators.
In order to use external tooling, user should be able to use ports which he specifies explicity via configuration of the plugin so random port generation will not be taken into accout. Random port generation should be uses by default when user do not specify them explicity.
From implementation point of view, random port generation is done here