forked from qt-creator/qt-creator
AndroidDeployQtStep: Fix deployment for qt 5.3
Task-number: QTCREATORBUG-13244 Change-Id: Iad4620a07994bd8944b48a117fac6a695a866205 Reviewed-by: Ulf Hermann <ulf.hermann@digia.com> Reviewed-by: BogDan Vatra <bogdan@kde.org>
This commit is contained in:
@@ -200,11 +200,7 @@ bool AndroidDeployQtStep::init()
|
||||
m_uninstallPreviousPackageRun = m_uninstallPreviousPackage || m_uninstallPreviousPackageTemp;
|
||||
m_uninstallPreviousPackageTemp = false;
|
||||
if (m_uninstallPreviousPackageRun) {
|
||||
m_packageName = AndroidManager::packageName(target());
|
||||
if (m_packageName.isEmpty()){
|
||||
emit addOutput(tr("Cannot find the package name."), ErrorOutput);
|
||||
return false;
|
||||
}
|
||||
m_manifestName = AndroidManager::manifestPath(target());
|
||||
}
|
||||
ProjectExplorer::ProcessParameters *pp = processParameters();
|
||||
m_useAndroiddeployqt = version->qtVersion() >= QtSupport::QtVersionNumber(5, 4, 0);
|
||||
@@ -299,10 +295,18 @@ void AndroidDeployQtStep::run(QFutureInterface<bool> &fi)
|
||||
pp->setArguments(m_androiddeployqtArgs);
|
||||
} else {
|
||||
if (m_uninstallPreviousPackageRun) {
|
||||
emit addOutput(tr("Uninstall previous package %1.").arg(m_packageName), MessageOutput);
|
||||
const QString packageName = AndroidManager::packageName(m_manifestName);
|
||||
if (packageName.isEmpty()){
|
||||
emit addOutput(tr("Cannot find the package name."), ErrorOutput);
|
||||
fi.reportResult(false);
|
||||
emit finished();
|
||||
return;
|
||||
}
|
||||
|
||||
emit addOutput(tr("Uninstall previous package %1.").arg(packageName), MessageOutput);
|
||||
runCommand(AndroidConfigurations::currentConfig().adbToolPath().toString(),
|
||||
AndroidDeviceInfo::adbSelector(m_serialNumber)
|
||||
<< QLatin1String("uninstall") << m_packageName);
|
||||
<< QLatin1String("uninstall") << packageName);
|
||||
}
|
||||
|
||||
QString args;
|
||||
|
||||
@@ -103,7 +103,7 @@ private:
|
||||
void stdError(const QString &line);
|
||||
virtual bool processSucceeded(int exitCode, QProcess::ExitStatus status);
|
||||
|
||||
QString m_packageName;
|
||||
Utils::FileName m_manifestName;
|
||||
QString m_serialNumber;
|
||||
QString m_buildDirectory;
|
||||
QString m_avdName;
|
||||
|
||||
@@ -123,6 +123,15 @@ QString AndroidManager::packageName(ProjectExplorer::Target *target)
|
||||
return manifestElem.attribute(QLatin1String("package"));
|
||||
}
|
||||
|
||||
QString AndroidManager::packageName(const Utils::FileName &manifestFile)
|
||||
{
|
||||
QDomDocument doc;
|
||||
if (!openXmlFile(doc, manifestFile))
|
||||
return QString();
|
||||
QDomElement manifestElem = doc.documentElement();
|
||||
return manifestElem.attribute(QLatin1String("package"));
|
||||
}
|
||||
|
||||
QString AndroidManager::intentName(ProjectExplorer::Target *target)
|
||||
{
|
||||
return packageName(target) + QLatin1Char('/') + activityName(target);
|
||||
|
||||
@@ -57,6 +57,7 @@ public:
|
||||
static bool supportsAndroid(const ProjectExplorer::Target *target);
|
||||
|
||||
static QString packageName(ProjectExplorer::Target *target);
|
||||
static QString packageName(const Utils::FileName &manifestFile);
|
||||
|
||||
static QString intentName(ProjectExplorer::Target *target);
|
||||
static QString activityName(ProjectExplorer::Target *target);
|
||||
|
||||
Reference in New Issue
Block a user