diff --git a/src/plugins/android/androidpackagecreationstep.cpp b/src/plugins/android/androidpackagecreationstep.cpp index 1a2484f79b1..dc7965a7cfa 100644 --- a/src/plugins/android/androidpackagecreationstep.cpp +++ b/src/plugins/android/androidpackagecreationstep.cpp @@ -557,7 +557,7 @@ void AndroidPackageCreationStep::collectFiles(QList *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) { diff --git a/src/plugins/android/androidpackagecreationstep.h b/src/plugins/android/androidpackagecreationstep.h index bc7336cd2ad..595c47a3cb3 100644 --- a/src/plugins/android/androidpackagecreationstep.h +++ b/src/plugins/android/androidpackagecreationstep.h @@ -107,7 +107,7 @@ private: QStringList collectRelativeFilePaths(const QString &parentPath); void collectFiles(QList *deployList, QList *pluginsAndImports); - void removeManagedFilesFromPackage(); + void removeManagedFilesFromPackage(const Utils::FileName &qtLibraryDir); void copyFilesIntoPackage(const QList &deployList); void stripFiles(const QList &deployList);