Merge remote-tracking branch 'origin/3.0'

This commit is contained in:
Eike Ziller
2013-11-19 07:41:47 +01:00
103 changed files with 1047 additions and 544 deletions

View File

@@ -470,6 +470,8 @@ QVector<AndroidDeviceInfo> AndroidConfigurations::connectedDevices(QString *erro
foreach (const QByteArray &device, adbDevs) {
const QString serialNo = QString::fromLatin1(device.left(device.indexOf('\t')).trimmed());
const QString deviceType = QString::fromLatin1(device.mid(device.indexOf('\t'))).trimmed();
if (isBootToQt(serialNo))
continue;
AndroidDeviceInfo dev;
dev.serialNumber = serialNo;
dev.type = serialNo.startsWith(QLatin1String("emulator")) ? AndroidDeviceInfo::Emulator : AndroidDeviceInfo::Hardware;
@@ -702,6 +704,22 @@ QString AndroidConfigurations::waitForAvd(int apiLevel, const QString &cpuAbi, c
return QString();
}
bool AndroidConfigurations::isBootToQt(const QString &device) const
{
// workaround for '????????????' serial numbers
QStringList arguments = AndroidDeviceInfo::adbSelector(device);
arguments << QLatin1String("shell")
<< QLatin1String("ls -l /system/bin/appcontroller || ls -l /usr/bin/appcontroller && echo Boot2Qt");
QProcess adbProc;
adbProc.start(adbToolPath().toString(), arguments);
if (!adbProc.waitForFinished(-1)) {
adbProc.kill();
return -1;
}
return adbProc.readAll().contains("Boot2Qt");
}
int AndroidConfigurations::getSDKVersion(const QString &device) const
{
// workaround for '????????????' serial numbers
@@ -767,8 +785,7 @@ bool AndroidConfigurations::hasFinishedBooting(const QString &device) const
QStringList AndroidConfigurations::getAbis(const QString &device) const
{
QStringList result;
int i = 1;
while (true) {
for (int i = 1; i < 6; ++i) {
QStringList arguments = AndroidDeviceInfo::adbSelector(device);
arguments << QLatin1String("shell") << QLatin1String("getprop");
if (i == 1)
@@ -786,7 +803,6 @@ QStringList AndroidConfigurations::getAbis(const QString &device) const
if (abi.isEmpty())
break;
result << abi;
++i;
}
return result;
}

View File

@@ -150,6 +150,7 @@ private:
int getSDKVersion(const QString &device) const;
QStringList getAbis(const QString &device) const;
bool isBootToQt(const QString &device) const;
void updateAvailableNdkPlatforms();
void updateAvailableSdkPlatforms();

View File

@@ -316,7 +316,11 @@ void AndroidSettingsWidget::searchForAnt(const QString &location)
foreach (const QString &file, parentFolder.entryList()) {
if (file.startsWith(QLatin1String("apache-ant"))) {
Utils::FileName ant = Utils::FileName::fromString(parentFolder.absolutePath());
ant.appendPath(file).appendPath(QLatin1String("bin")).appendPath(QLatin1String("ant.bat"));
ant.appendPath(file).appendPath(QLatin1String("bin"));
if (Utils::HostOsInfo::isWindowsHost())
ant.appendPath(QLatin1String("ant.bat"));
else
ant.appendPath(QLatin1String("ant"));
if (ant.toFileInfo().exists()) {
m_androidConfig.antLocation = ant;
m_ui->AntLocationLineEdit->setText(ant.toUserOutput());