diff --git a/src/plugins/android/androidavdmanager.cpp b/src/plugins/android/androidavdmanager.cpp index 954053b08bc..a376a3194c3 100644 --- a/src/plugins/android/androidavdmanager.cpp +++ b/src/plugins/android/androidavdmanager.cpp @@ -26,6 +26,7 @@ #include "androidtoolmanager.h" +#include "coreplugin/icore.h" #include "utils/algorithm.h" #include "utils/qtcassert.h" #include "utils/runextensions.h" @@ -34,6 +35,7 @@ #include #include #include +#include #include #include @@ -270,6 +272,15 @@ QString AndroidAvdManager::startAvd(const QString &name) const bool AndroidAvdManager::startAvdAsync(const QString &avdName) const { + QFileInfo info(m_config.emulatorToolPath().toString()); + if (!info.exists()) { + QMessageBox::critical(Core::ICore::dialogParent(), + tr("Emulator Tool Is Missing"), + tr("Install the missing emulator tool (%1) to the" + " installed Android SDK.") + .arg(m_config.emulatorToolPath().toString())); + return false; + } QProcess *avdProcess = new QProcess(); QObject::connect(avdProcess, static_cast(&QProcess::finished), avdProcess, &QObject::deleteLater); diff --git a/src/plugins/android/androidavdmanager.h b/src/plugins/android/androidavdmanager.h index 8bb487ca663..6b16b3c7ce1 100644 --- a/src/plugins/android/androidavdmanager.h +++ b/src/plugins/android/androidavdmanager.h @@ -36,6 +36,8 @@ class AvdManagerOutputParser; class AndroidAvdManager { + Q_DECLARE_TR_FUNCTIONS(Android::Internal::AndroidAvdManager) + public: AndroidAvdManager(const AndroidConfig& config = AndroidConfigurations::currentConfig()); ~AndroidAvdManager();