From 38c76f704b287a230b92e661810968ab97df8113 Mon Sep 17 00:00:00 2001 From: Alexey Edelev Date: Fri, 9 May 2025 13:17:40 +0200 Subject: [PATCH] [Android] Store the main ABI in deployment settings Add the main Android ABI to the deployment settings. It's useful for skipping functionality that is done in per-ABI builds. Task-number: QTBUG-136493 Pick-to: 6.8 6.5 Change-Id: I9f59ffb1cae3107bbe695d99c33dd3426c163e6e Reviewed-by: Joerg Bornemann (cherry picked from commit 7aa2d1f5deb5eab2408d7bcf08d741f6c1c9a131) Reviewed-by: Qt Cherry-pick Bot --- src/corelib/Qt6AndroidMacros.cmake | 2 ++ src/tools/androiddeployqt/main.cpp | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/src/corelib/Qt6AndroidMacros.cmake b/src/corelib/Qt6AndroidMacros.cmake index 86e189ae883..eddcbdb6d84 100644 --- a/src/corelib/Qt6AndroidMacros.cmake +++ b/src/corelib/Qt6AndroidMacros.cmake @@ -259,6 +259,8 @@ function(qt6_android_generate_deployment_settings target) list(JOIN architecture_record_list "," architecture_records) # Architecture + string(APPEND file_contents + " \"abi\": \"${CMAKE_ANDROID_ARCH_ABI}\",\n") string(APPEND file_contents " \"architectures\": { ${architecture_records} },\n") diff --git a/src/tools/androiddeployqt/main.cpp b/src/tools/androiddeployqt/main.cpp index 0eb83cc3486..4094d86809c 100644 --- a/src/tools/androiddeployqt/main.cpp +++ b/src/tools/androiddeployqt/main.cpp @@ -143,6 +143,7 @@ struct Options QString jdkPath; // Build paths + QString abi; QString qtInstallDirectory; QHash qtDirectories; QString qtDataDirectory; @@ -1184,6 +1185,11 @@ bool readInputFile(Options *options) options->targetSdkVersion = ver.toString().toUtf8(); } + { + if (const auto abi = jsonObject.value("abi"_L1); !abi.isUndefined()) + options->abi = jsonObject.value("abi"_L1).toString(); + } + { const QJsonObject targetArchitectures = jsonObject.value("architectures"_L1).toObject(); if (targetArchitectures.isEmpty()) {