From 6e3d2ad44f5a2c0baae8124c828e8998a14e1c25 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 Pick-to: 6.8 Change-Id: Iae54779bfa4bd143ec35353604724d8ec4e35ef2 Reviewed-by: Assam Boudjelthia (cherry picked from commit e59308c5119caac5d4f1024c7d8147e9887cb246) Reviewed-by: Qt Cherry-pick Bot --- 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 200daeac2cd..5bd21c0cb62 100644 --- a/src/tools/androiddeployqt/main.cpp +++ b/src/tools/androiddeployqt/main.cpp @@ -1807,10 +1807,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); }); };