single bundle (.aab file) with builds for multiple architectures
-
Unless I'm mistaken, Play Console requires that you upload a single bundle (.aab file) supporting both armeabi_v7a and arm64_v8a.
In QtCreator I can easily set up these two targets, but each build generates it's own .aab file.
How can I generate a single bundle containing both builds?
-
Are you using newest Qt and newest Qt Creator? It definitely should work. I have not tried it recently but in the past it was building multiarch .aabs nicely.
-
I'm certainly missing something obvious.
I just removed everything and installed again from scratch.
I am presented with bunch of "Kits" to choose, each for a specific architecture. There are four Android kits, armeabi_v7a, arm64_v8a, x86, and x86_64. Each generates a separate .aab bundle containing only that version.
This documentation page have screenshots for CMake and QMake with options to add a list of architectures, but I don't see that in my QtCreator interface. I tried it on Linux and on MacOS, with the same results.
I have just tried to create a project using the QBS build system (which I have not noticed before, and is not mentioned in the docs), and it does have the option to provide a list of architectures, but I gives a bunch of errors when I try to build (one of them is "Module Qt.quick could not be loaded").
-
Hm, maybe something has changed in newest Qt Creator. Sorry, I don't know, I'm not set up for Android at the moment. This definitely used to work fine in the past :/
-
Same here, i don't figure out how to build multi-arch Android AAB package with Qt 6.2 and latest versions of QtCrator (QtCreator 5.0, QtCreator 6.0).
Looks like its Qt 6 related issue: in Qt 5.15 we have 'Clang Multi-Abi' kit and able to select required ABIS and build multi-arch AAB:
In Qt 6.2 there separate kits for each ABI 'Clang arm64-v8a', 'Clang armeabi-v7a', 'Clang x86', 'Clang x86_64' each can generate single-arch AAB, but no way to build multi-arch AAB.
-
in Qt Creator, open the project tab (the one under debug)
make sure, you selected a multi arch build:
on the right side in the build steps section, expand qmake row and select all architectures(ABI) you want to build for
under build android apk, make sure to check build aab
that should be all you need to do
-
in Qt Creator, open the project tab (the one under debug)
make sure, you selected a multi arch build:
on the right side in the build steps section, expand qmake row and select all architectures(ABI) you want to build for
under build android apk, make sure to check build aab
that should be all you need to do
-
@J-Hilk Looks like its Qt 6 related issue: in Qt 6.2 there separate kits for each ABI 'Clang arm64-v8a', 'Clang armeabi-v7a', 'Clang x86', 'Clang x86_64' each can generate single-arch AAB, but no way to build multi-arch AAB.
@morte known bug
https://bugreports.qt.io/browse/QTBUG-88841since the QtCompany builds its own precompiled binaries with cmake now, it also effects 6.0 to 6.2.
It is supposed to come with Qt 6.3
-
Since AAB become mandatory at Google Play from august 2021, strange that its impossible to generate multi-arch AAB package with Qt 6.2 LTS (neither using CMake or qmake). Theres note in docs that suggest upload single-arch ABB for each arch with different version codes. Would be good also see workaround to generate multi-arch AAB with 6.2.x.
-
@morte said in single bundle (.aab file) with builds for multiple architectures:
multi-arch Android AAB
Multi ABIs are back
https://www.qt.io/blog/android-multi-abi-builds-are-back