summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/androiddeployqt/main.cpp25
1 files changed, 18 insertions, 7 deletions
diff --git a/src/androiddeployqt/main.cpp b/src/androiddeployqt/main.cpp
index 393e5cbc6..13ffbdb47 100644
--- a/src/androiddeployqt/main.cpp
+++ b/src/androiddeployqt/main.cpp
@@ -73,6 +73,17 @@ void deleteRecursively(const QString &dirName)
QDir().rmdir(dirName);
}
+FILE *openProcess(const QString &command)
+{
+#if defined(Q_OS_WIN32)
+ QString processedCommand = QLatin1Char('\"') + command + QLatin1Char('\"');
+#else
+ QString processedCommand = command;
+#endif
+
+ return popen(processedCommand.toLocal8Bit().constData(), "r");
+}
+
struct Options
{
Options()
@@ -1187,7 +1198,7 @@ QStringList getQtLibsFromElf(const Options &options, const QString &fileName)
readElf = QString::fromLatin1("\"%1\" -d -W %2").arg(readElf).arg(fileName);
- FILE *readElfCommand = popen(readElf.toLocal8Bit().constData(), "r");
+ FILE *readElfCommand = openProcess(readElf);
if (readElfCommand == 0) {
fprintf(stderr, "Cannot execute command %s", qPrintable(readElf));
return QStringList();
@@ -1331,7 +1342,7 @@ bool stripFile(const Options &options, const QString &fileName)
strip = QString::fromLatin1("\"%1\" %2").arg(strip).arg(fileName);
- FILE *stripCommand = popen(strip.toLocal8Bit().constData(), "r");
+ FILE *stripCommand = openProcess(strip);
if (stripCommand == 0) {
fprintf(stderr, "Cannot execute command %s", qPrintable(strip));
return false;
@@ -1412,7 +1423,7 @@ FILE *runAdb(const Options &options, const QString &arguments)
if (options.verbose)
fprintf(stdout, "Running command \"%s\"\n", adb.toLocal8Bit().constData());
- FILE *adbCommand = popen(adb.toLocal8Bit().constData(), "r");
+ FILE *adbCommand = openProcess(adb);
if (adbCommand == 0) {
fprintf(stderr, "Cannot start adb: %s\n", qPrintable(adb));
return 0;
@@ -1648,7 +1659,7 @@ bool createAndroidProject(const Options &options)
if (options.verbose)
fprintf(stdout, " -- Command: %s\n", qPrintable(androidTool));
- FILE *androidToolCommand = popen(androidTool.toLocal8Bit().constData(), "r");
+ FILE *androidToolCommand = openProcess(androidTool);
if (androidToolCommand == 0) {
fprintf(stderr, "Cannot run command '%s'\n", qPrintable(androidTool));
return false;
@@ -1708,7 +1719,7 @@ bool buildAndroidProject(const Options &options)
QString ant = QString::fromLatin1("\"%1\" %2").arg(antTool).arg(options.releasePackage ? QLatin1String(" release") : QLatin1String(" debug"));
- FILE *antCommand = popen(ant.toLocal8Bit().constData(), "r");
+ FILE *antCommand = openProcess(ant);
if (antCommand == 0) {
fprintf(stderr, "Cannot run ant command: %s\n.", qPrintable(ant));
return false;
@@ -1905,7 +1916,7 @@ bool signPackage(const Options &options)
+ QLatin1String("-unsigned.apk"))
.arg(options.keyStoreAlias);
- FILE *jarSignerCommand = popen(jarSignerTool.toLocal8Bit().constData(), "r");
+ FILE *jarSignerCommand = openProcess(jarSignerTool);
if (jarSignerCommand == 0) {
fprintf(stderr, "Couldn't run jarsigner.\n");
return false;
@@ -1947,7 +1958,7 @@ bool signPackage(const Options &options)
+ apkName(options)
+ QLatin1String(".apk"));
- FILE *zipAlignCommand = popen(zipAlignTool.toLocal8Bit(), "r");
+ FILE *zipAlignCommand = openProcess(zipAlignTool);
if (zipAlignCommand == 0) {
fprintf(stderr, "Couldn't run zipalign.\n");
return false;