forked from qt-creator/qt-creator
Android: Refactor Android SDK packages
Introduce a hierarchy for Android SDK packages and refactor the code accordingly. This is ground work for sdk management and automatic android setup Task-number: QTCREATORBUG-18978 Change-Id: Idef545e3b3a8e33e920be52b26094fb8046afcd3 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
This commit is contained in:
@@ -101,37 +101,37 @@ static bool checkForTimeout(const chrono::steady_clock::time_point &start,
|
||||
return timedOut;
|
||||
}
|
||||
|
||||
static AndroidConfig::CreateAvdInfo createAvdCommand(const AndroidConfig config,
|
||||
const AndroidConfig::CreateAvdInfo &info)
|
||||
static CreateAvdInfo createAvdCommand(const AndroidConfig config, const CreateAvdInfo &info)
|
||||
{
|
||||
AndroidConfig::CreateAvdInfo result = info;
|
||||
CreateAvdInfo result = info;
|
||||
|
||||
if (!result.isValid()) {
|
||||
qCDebug(avdManagerLog) << "AVD Create failed. Invalid CreateAvdInfo" << result.name
|
||||
<< result.target.name << result.target.apiLevel;
|
||||
<< result.sdkPlatform->displayText() << result.sdkPlatform->apiLevel();
|
||||
result.error = QApplication::translate("AndroidAvdManager",
|
||||
"Cannot create AVD. Invalid input.");
|
||||
return result;
|
||||
}
|
||||
|
||||
QStringList arguments({"create", "avd", "-k", result.target.package, "-n", result.name});
|
||||
QStringList arguments({"create", "avd", "-k", result.sdkPlatform->sdkStylePath(), "-n", result.name});
|
||||
|
||||
if (!result.abi.isEmpty()) {
|
||||
SystemImage image = Utils::findOrDefault(result.target.systemImages,
|
||||
SystemImage *image = Utils::findOrDefault(result.sdkPlatform->systemImages(),
|
||||
Utils::equal(&SystemImage::abiName, result.abi));
|
||||
if (image.isValid()) {
|
||||
arguments << "-k" << image.package;
|
||||
if (image && image->isValid()) {
|
||||
arguments << "-k" << image->sdkStylePath();
|
||||
} else {
|
||||
QString name = result.sdkPlatform->displayText();
|
||||
qCDebug(avdManagerLog) << "AVD Create failed. Cannot find system image for the platform"
|
||||
<< result.abi << result.target.name;
|
||||
<< result.abi << name;
|
||||
result.error = QApplication::translate("AndroidAvdManager",
|
||||
"Cannot create AVD. Cannot find system image for "
|
||||
"the ABI %1(%2).").arg(result.abi).arg(result.target.name);
|
||||
"the ABI %1(%2).").arg(result.abi).arg(name);
|
||||
return result;
|
||||
}
|
||||
|
||||
} else {
|
||||
arguments << "-k" << result.target.package;
|
||||
arguments << "-k" << result.sdkPlatform->sdkStylePath();
|
||||
}
|
||||
|
||||
if (result.sdcardSize > 0)
|
||||
@@ -234,8 +234,7 @@ void AndroidAvdManager::launchAvdManagerUiTool() const
|
||||
}
|
||||
}
|
||||
|
||||
QFuture<AndroidConfig::CreateAvdInfo>
|
||||
AndroidAvdManager::createAvd(AndroidConfig::CreateAvdInfo info) const
|
||||
QFuture<CreateAvdInfo> AndroidAvdManager::createAvd(CreateAvdInfo info) const
|
||||
{
|
||||
if (m_config.sdkToolsVersion() < avdManagerIntroVersion)
|
||||
return m_androidTool->createAvd(info);
|
||||
|
||||
Reference in New Issue
Block a user