Android: handle return correct serialNumber for a running avd

AVDs don't get a serial number until they are started, and avdmanager
don't make it easy to get their serial either, so we need to check
the running devices with adb "emu avd name" command and compare.

Change-Id: I3253d25a3461a36eb9918b3c796062bf9e82e0c6
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Assam Boudjelthia
2021-09-21 21:40:27 +03:00
parent 3619223cbe
commit 6e4d829a40
3 changed files with 31 additions and 4 deletions

View File

@@ -334,7 +334,11 @@ bool AndroidDevice::isValid() const
QString AndroidDevice::serialNumber() const
{
return extraData(Constants::AndroidSerialNumber).toString();
const QString serialNumber = extraData(Constants::AndroidSerialNumber).toString();
if (machineType() == Hardware)
return serialNumber;
return AndroidConfigurations::currentConfig().getRunningAvdsSerialNumber(avdName());
}
QString AndroidDevice::avdName() const