I just tried a quick (non-Jenkins) test using an emulator on the default ADB port ranges. I let the emulator start up and then used the adb connect localhost:5555 command to connect the emulator. That left the same emulator listed both as emulator-5554 and locahost:5555. With that setup I tried running a maven build using

mvn install -Dandroid.device=emulator

The build worked find and the double registration of the emulator does not seem to have broken things.

So it looks like we may be able to get away with a-e-p using the localhost:%d style connections and with maven/ddmlib automatically picking up the emulator-%d version.

The only issue I can see is that some users who look at the adb devices output will find the same emulator twice. But that is going to be an issue for anyone using localhost:%d and the fixed emulator images anyway.