diff options
author | Daniel Teske <daniel.teske@digia.com> | 2013-08-08 17:19:39 +0200 |
---|---|---|
committer | Daniel Teske <daniel.teske@digia.com> | 2013-08-12 11:41:35 +0200 |
commit | 2d4afd04947f9b0700d9df9610d64f8e707c98ee (patch) | |
tree | ffc0228c8003f2e61491eff4fb3e6e831f8c95a2 /src/plugins/android/androidpackagecreationstep.cpp | |
parent | 1c5c51c91d9fb1aaa5ee13e3a77bd142e5dbc142 (diff) | |
download | qt-creator-2d4afd04947f9b0700d9df9610d64f8e707c98ee.tar.gz |
Android: Clean up before packaging, be a little bit more careful.
The android/libs folder contains both the library from the project and
libraries from qt. This adds a small check before removing libQt5*.so,
that checks if that file is in qt's lib folder. That fixes the bug
below, but e.g. naming your project Qt5Test won't work.
Long term we'll need to overhaul the packaging and make that more
robust.
Task-number: QTCREATORBUG-9895
Change-Id: I48f735114ee95668a862549cfe1537aeab968dfb
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Diffstat (limited to 'src/plugins/android/androidpackagecreationstep.cpp')
-rw-r--r-- | src/plugins/android/androidpackagecreationstep.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/plugins/android/androidpackagecreationstep.cpp b/src/plugins/android/androidpackagecreationstep.cpp index 1a2484f79b..dc7965a7cf 100644 --- a/src/plugins/android/androidpackagecreationstep.cpp +++ b/src/plugins/android/androidpackagecreationstep.cpp @@ -557,7 +557,7 @@ void AndroidPackageCreationStep::collectFiles(QList<DeployItem> *deployList, } } -void AndroidPackageCreationStep::removeManagedFilesFromPackage() +void AndroidPackageCreationStep::removeManagedFilesFromPackage(const Utils::FileName &qtLibraryDir) { // Clean up all files managed by Qt Creator { @@ -571,6 +571,12 @@ void AndroidPackageCreationStep::removeManagedFilesFromPackage() && dirIt.fileName().startsWith(QLatin1String("libQt5")) && dirIt.fileName().endsWith(QLatin1String(".so")); + if (isQtLibrary) { + Utils::FileName qtLibraryFile = qtLibraryDir; + qtLibraryFile.appendPath(dirIt.fileName()); + isQtLibrary = qtLibraryFile.toFileInfo().exists(); + } + if (dirIt.filePath().contains(AndroidManager::libraryPrefix()) || isQtLibrary) QFile::remove(dirIt.filePath()); } @@ -656,7 +662,7 @@ bool AndroidPackageCreationStep::createPackage() collectFiles(&deployFiles, &importsAndPlugins); // Remove files from package if they are not needed - removeManagedFilesFromPackage(); + removeManagedFilesFromPackage(version->libraryPath()); // Deploy files to package if (bundleQt) { |