From 2161efeef956e38c5b345e69d48612d9ad3dfc49 Mon Sep 17 00:00:00 2001 From: Ivan Savenko Date: Sun, 2 Nov 2025 19:41:25 +0200 Subject: [PATCH] Upgrade Android NDK to r29 --- conan_patches/qt/conandata.yml | 4 -- conan_patches/qt/patches/android-19-jar.diff | 71 ------------------- conan_patches/qt/patches/android-19-java.diff | 13 ---- conan_profiles/android-32 | 2 +- conan_profiles/base/android | 2 +- conan_profiles/base/android-ndk | 2 +- conanfile.py | 2 +- 7 files changed, 4 insertions(+), 92 deletions(-) delete mode 100644 conan_patches/qt/patches/android-19-jar.diff delete mode 100644 conan_patches/qt/patches/android-19-java.diff diff --git a/conan_patches/qt/conandata.yml b/conan_patches/qt/conandata.yml index e62de63..5737d81 100644 --- a/conan_patches/qt/conandata.yml +++ b/conan_patches/qt/conandata.yml @@ -1,9 +1,5 @@ patches: "5.15.16": - - "base_path": "qt5/qtbase" - "patch_file": "patches/android-19-jar.diff" - - "base_path": "qt5/qtbase" - "patch_file": "patches/android-19-java.diff" - "base_path": "qt5/qtbase" "patch_file": "patches/android-21-22.diff" - "base_path": "qt5/qtbase" diff --git a/conan_patches/qt/patches/android-19-jar.diff b/conan_patches/qt/patches/android-19-jar.diff deleted file mode 100644 index af7af31..0000000 --- a/conan_patches/qt/patches/android-19-jar.diff +++ /dev/null @@ -1,71 +0,0 @@ -diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java b/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java -index 1218164..a5bd6c5 100644 ---- a/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java -+++ b/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java -@@ -847,7 +847,10 @@ public class QtActivityDelegate - m_splashScreenSticky = info.metaData.containsKey("android.app.splash_screen_sticky") && info.metaData.getBoolean("android.app.splash_screen_sticky"); - int id = info.metaData.getInt(splashScreenKey); - m_splashScreen = new ImageView(m_activity); -- m_splashScreen.setImageDrawable(m_activity.getResources().getDrawable(id, m_activity.getTheme())); -+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) -+ m_splashScreen.setImageDrawable(m_activity.getResources().getDrawable(id, m_activity.getTheme())); -+ else -+ m_splashScreen.setImageDrawable(m_activity.getResources().getDrawable(id)); - m_splashScreen.setScaleType(ImageView.ScaleType.FIT_XY); - m_splashScreen.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); - m_layout.addView(m_splashScreen); -@@ -1293,7 +1296,10 @@ public class QtActivityDelegate - if (attr.type >= TypedValue.TYPE_FIRST_COLOR_INT && attr.type <= TypedValue.TYPE_LAST_COLOR_INT) { - m_activity.getWindow().setBackgroundDrawable(new ColorDrawable(attr.data)); - } else { -- m_activity.getWindow().setBackgroundDrawable(m_activity.getResources().getDrawable(attr.resourceId, m_activity.getTheme())); -+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) -+ m_activity.getWindow().setBackgroundDrawable(m_activity.getResources().getDrawable(attr.resourceId, m_activity.getTheme())); -+ else -+ m_activity.getWindow().setBackgroundDrawable(m_activity.getResources().getDrawable(attr.resourceId)); - } - if (m_dummyView != null) { - m_layout.removeView(m_dummyView); -diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtMessageDialogHelper.java b/src/android/jar/src/org/qtproject/qt5/android/QtMessageDialogHelper.java -index e84c5d7..a3bbff4 100644 ---- a/src/android/jar/src/org/qtproject/qt5/android/QtMessageDialogHelper.java -+++ b/src/android/jar/src/org/qtproject/qt5/android/QtMessageDialogHelper.java -@@ -109,8 +109,7 @@ public class QtMessageDialogHelper - try { - TypedValue typedValue = new TypedValue(); - m_theme.resolveAttribute(android.R.attr.alertDialogIcon, typedValue, true); -- return m_activity.getResources().getDrawable(typedValue.resourceId, -- m_activity.getTheme()); -+ return m_activity.getResources().getDrawable(typedValue.resourceId); - } catch (Exception e) { - e.printStackTrace(); - } -@@ -120,8 +119,7 @@ public class QtMessageDialogHelper - { - case 1: // Information - try { -- return m_activity.getResources().getDrawable(android.R.drawable.ic_dialog_info, -- m_activity.getTheme()); -+ return m_activity.getResources().getDrawable(android.R.drawable.ic_dialog_info); - } catch (Exception e) { - e.printStackTrace(); - } -@@ -135,16 +133,14 @@ public class QtMessageDialogHelper - // break; - case 3: // Critical - try { -- return m_activity.getResources().getDrawable(android.R.drawable.ic_dialog_alert, -- m_activity.getTheme()); -+ return m_activity.getResources().getDrawable(android.R.drawable.ic_dialog_alert); - } catch (Exception e) { - e.printStackTrace(); - } - break; - case 4: // Question - try { -- return m_activity.getResources().getDrawable(android.R.drawable.ic_menu_help, -- m_activity.getTheme()); -+ return m_activity.getResources().getDrawable(android.R.drawable.ic_menu_help); - } catch (Exception e) { - e.printStackTrace(); - } diff --git a/conan_patches/qt/patches/android-19-java.diff b/conan_patches/qt/patches/android-19-java.diff deleted file mode 100644 index c8fa8db..0000000 --- a/conan_patches/qt/patches/android-19-java.diff +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java b/src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java -index 1e72aa3..982d060 100644 ---- a/src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java -+++ b/src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java -@@ -182,7 +182,7 @@ public abstract class QtLoader { - } - // Implement in subclass - -- private final List supportedAbis = Arrays.asList(Build.SUPPORTED_ABIS); -+ private final List supportedAbis = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP ? Arrays.asList(Build.SUPPORTED_ABIS) : List.of(Build.CPU_ABI); - private String preferredAbi = null; - - private ArrayList prefferedAbiLibs(String []libs) diff --git a/conan_profiles/android-32 b/conan_profiles/android-32 index 61cd8dc..ab005ce 100644 --- a/conan_profiles/android-32 +++ b/conan_profiles/android-32 @@ -2,7 +2,7 @@ include(base/android) [settings] arch=armv7 -os.api_level=19 +os.api_level=21 [conf] # remove after switching to API level >= 24 diff --git a/conan_profiles/base/android b/conan_profiles/base/android index 92f33b5..4bb71ae 100644 --- a/conan_profiles/base/android +++ b/conan_profiles/base/android @@ -6,7 +6,7 @@ include(common) compiler=clang compiler.cppstd={{ vars.cppstd }} compiler.libcxx=c++_shared -compiler.version=14 +compiler.version=21 os=Android [conf] diff --git a/conan_profiles/base/android-ndk b/conan_profiles/base/android-ndk index 37e1bae..9be2e99 100644 --- a/conan_profiles/base/android-ndk +++ b/conan_profiles/base/android-ndk @@ -1,2 +1,2 @@ [tool_requires] -android-ndk/r25c +android-ndk/r29 diff --git a/conanfile.py b/conanfile.py index c8921df..b359850 100644 --- a/conanfile.py +++ b/conanfile.py @@ -53,7 +53,7 @@ def config_options(self): def requirements(self): # lib # boost::filesystem removed support for Windows < 10 in v1.87 - boostMinVersion = "1.69" + boostMinVersion = "1.74" if self.options.get_safe("target_pre_windows10", False): self.requires(f"boost/[>={boostMinVersion} <1.87]") else: