diff --git a/src/tools/androiddeployqt/main.cpp b/src/tools/androiddeployqt/main.cpp index 08bd4ccdf3f..d8839a0ef6e 100644 --- a/src/tools/androiddeployqt/main.cpp +++ b/src/tools/androiddeployqt/main.cpp @@ -1755,10 +1755,21 @@ bool updateLibsXml(Options *options) QStringList localLibs; localLibs = options->localLibs[it.key()]; + const QList& deps = options->qtDependencies[it.key()]; + auto notExistsInDependencies = [&deps] (const QString &lib) { + return std::none_of(deps.begin(), deps.end(), [&lib] (const QtDependency &dep) { + return QFileInfo(dep.absolutePath).fileName() == QFileInfo(lib).fileName(); + }); + }; + + // Clean up localLibs: remove libs that were not added to qtDependecies + localLibs.erase(std::remove_if(localLibs.begin(), localLibs.end(), notExistsInDependencies), + localLibs.end()); + // If .pro file overrides dependency detection, we need to see which platform plugin they picked if (localLibs.isEmpty()) { QString plugin; - for (const QtDependency &qtDependency : options->qtDependencies[it.key()]) { + for (const QtDependency &qtDependency : deps) { if (qtDependency.relativePath.contains("libplugins_platforms_qtforandroid_"_L1)) plugin = qtDependency.relativePath;