From 4bb4d015f7e855015f8dc32d658518d5ec3556bd Mon Sep 17 00:00:00 2001 From: Assam Boudjelthia Date: Wed, 13 Mar 2024 14:34:36 +0400 Subject: [PATCH] Android: don't add lib prefix to loaded libs unconditionally MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Some libs don't necessarily have the lib prefix in their names, 3rd party libs and Qt for Python might have that, so no need to always add that prefix to loaded libs is the lib name already contains a .so suffix. Fixes: QTBUG-123286 Pick-to: 6.7 6.7.0 Change-Id: Ib65215d9b4410c5c9e00aa0642f48ab45c92fe03 Reviewed-by: Shyamnath Premnadh Reviewed-by: Tinja Paavoseppä --- .../jar/src/org/qtproject/qt/android/QtLoader.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/android/jar/src/org/qtproject/qt/android/QtLoader.java b/src/android/jar/src/org/qtproject/qt/android/QtLoader.java index eb27bdc5908..a00c4795f75 100644 --- a/src/android/jar/src/org/qtproject/qt/android/QtLoader.java +++ b/src/android/jar/src/org/qtproject/qt/android/QtLoader.java @@ -495,10 +495,13 @@ abstract class QtLoader { ArrayList absolutePathLibraries = new ArrayList<>(); for (String libName : libraries) { - if (!libName.startsWith("lib")) - libName = "lib" + libName; - if (!libName.endsWith(".so")) + // Add lib and .so to the lib name only if it doesn't already end with .so, + // this means some names don't necessarily need to have the lib prefix + if (!libName.endsWith(".so")) { libName = libName + ".so"; + libName = "lib" + libName; + } + File file = new File(m_nativeLibrariesDir + libName); absolutePathLibraries.add(file.getAbsolutePath()); }