[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.5 6.8 6.9
Change-Id: I9f59ffb1cae3107bbe695d99c33dd3426c163e6e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This commit is contained in:
Alexey Edelev 2025-05-09 13:17:40 +02:00
parent 4b3a1bf272
commit 7aa2d1f5de
2 changed files with 8 additions and 0 deletions

View File

@ -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")

View File

@ -143,6 +143,7 @@ struct Options
QString jdkPath;
// Build paths
QString abi;
QString qtInstallDirectory;
QHash<QString, QString> 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()) {