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_uninstallPreviousPackageRun = m_uninstallPreviousPackage || m_uninstallPreviousPackageTemp;
|
||||||
m_uninstallPreviousPackageTemp = false;
|
m_uninstallPreviousPackageTemp = false;
|
||||||
if (m_uninstallPreviousPackageRun) {
|
if (m_uninstallPreviousPackageRun) {
|
||||||
m_packageName = AndroidManager::packageName(target());
|
m_manifestName = AndroidManager::manifestPath(target());
|
||||||
if (m_packageName.isEmpty()){
|
|
||||||
emit addOutput(tr("Cannot find the package name."), ErrorOutput);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
ProjectExplorer::ProcessParameters *pp = processParameters();
|
ProjectExplorer::ProcessParameters *pp = processParameters();
|
||||||
m_useAndroiddeployqt = version->qtVersion() >= QtSupport::QtVersionNumber(5, 4, 0);
|
m_useAndroiddeployqt = version->qtVersion() >= QtSupport::QtVersionNumber(5, 4, 0);
|
||||||
@@ -299,10 +295,18 @@ void AndroidDeployQtStep::run(QFutureInterface<bool> &fi)
|
|||||||
pp->setArguments(m_androiddeployqtArgs);
|
pp->setArguments(m_androiddeployqtArgs);
|
||||||
} else {
|
} else {
|
||||||
if (m_uninstallPreviousPackageRun) {
|
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(),
|
runCommand(AndroidConfigurations::currentConfig().adbToolPath().toString(),
|
||||||
AndroidDeviceInfo::adbSelector(m_serialNumber)
|
AndroidDeviceInfo::adbSelector(m_serialNumber)
|
||||||
<< QLatin1String("uninstall") << m_packageName);
|
<< QLatin1String("uninstall") << packageName);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString args;
|
QString args;
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ private:
|
|||||||
void stdError(const QString &line);
|
void stdError(const QString &line);
|
||||||
virtual bool processSucceeded(int exitCode, QProcess::ExitStatus status);
|
virtual bool processSucceeded(int exitCode, QProcess::ExitStatus status);
|
||||||
|
|
||||||
QString m_packageName;
|
Utils::FileName m_manifestName;
|
||||||
QString m_serialNumber;
|
QString m_serialNumber;
|
||||||
QString m_buildDirectory;
|
QString m_buildDirectory;
|
||||||
QString m_avdName;
|
QString m_avdName;
|
||||||
|
|||||||
@@ -123,6 +123,15 @@ QString AndroidManager::packageName(ProjectExplorer::Target *target)
|
|||||||
return manifestElem.attribute(QLatin1String("package"));
|
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)
|
QString AndroidManager::intentName(ProjectExplorer::Target *target)
|
||||||
{
|
{
|
||||||
return packageName(target) + QLatin1Char('/') + activityName(target);
|
return packageName(target) + QLatin1Char('/') + activityName(target);
|
||||||
|
|||||||
@@ -57,6 +57,7 @@ public:
|
|||||||
static bool supportsAndroid(const ProjectExplorer::Target *target);
|
static bool supportsAndroid(const ProjectExplorer::Target *target);
|
||||||
|
|
||||||
static QString packageName(ProjectExplorer::Target *target);
|
static QString packageName(ProjectExplorer::Target *target);
|
||||||
|
static QString packageName(const Utils::FileName &manifestFile);
|
||||||
|
|
||||||
static QString intentName(ProjectExplorer::Target *target);
|
static QString intentName(ProjectExplorer::Target *target);
|
||||||
static QString activityName(ProjectExplorer::Target *target);
|
static QString activityName(ProjectExplorer::Target *target);
|
||||||
|
|||||||
Reference in New Issue
Block a user