From e0e0854b056e8b83dcb0a42ca64615d2120fa566 Mon Sep 17 00:00:00 2001 From: Bartlomiej Moskal Date: Thu, 28 Nov 2024 18:33:40 +0100 Subject: [PATCH] Android: Fix for multi-ABI build in androiddeployqt 7499fd0229d63f969bf6ca58d3b764b96395bed2 commit cleans up the localLibs to not add dependencies to the libs.xml file as they will not be satisfied. Mentioned change created a regression with multi-ABI build. It happens because in qtDependencies[ARCH] container, some libs just have different atchitecture prefix. This commit remove architecture prefix when checking libs in qtDependencies container. Fixes: QTBUG-131707 Change-Id: Iae54779bfa4bd143ec35353604724d8ec4e35ef2 Reviewed-by: Assam Boudjelthia (cherry picked from commit e59308c5119caac5d4f1024c7d8147e9887cb246) Reviewed-by: Qt Cherry-pick Bot (cherry picked from commit 6e3d2ad44f5a2c0baae8124c828e8998a14e1c25) --- src/tools/androiddeployqt/main.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/tools/androiddeployqt/main.cpp b/src/tools/androiddeployqt/main.cpp index 1a298614a87..4da8814bf6b 100644 --- a/src/tools/androiddeployqt/main.cpp +++ b/src/tools/androiddeployqt/main.cpp @@ -1762,10 +1762,15 @@ bool updateLibsXml(Options *options) QStringList localLibs; localLibs = options->localLibs[it.key()]; + const QString archSuffix = it.key() + ".so"_L1; + const QList& deps = options->qtDependencies[it.key()]; - auto notExistsInDependencies = [&deps] (const QString &lib) { + auto notExistsInDependencies = [&deps, archSuffix] (const QString &libName) { + QString lib = QFileInfo(libName).fileName(); + if (lib.endsWith(archSuffix)) + lib.chop(archSuffix.length()); return std::none_of(deps.begin(), deps.end(), [&lib] (const QtDependency &dep) { - return QFileInfo(dep.absolutePath).fileName() == QFileInfo(lib).fileName(); + return QFileInfo(dep.absolutePath).fileName().contains(lib); }); };