fix list-qt, install-qt for android >= 6.7.0

This resolves #946
This commit is contained in:
tsteven4
2025-10-06 19:22:43 -06:00
parent c7137c4c27
commit 56d94cfd79
3 changed files with 19 additions and 4 deletions

View File

@@ -431,6 +431,9 @@ class QtArchives:
arch = "x86_64" arch = "x86_64"
elif self.os_name == "linux_arm64": elif self.os_name == "linux_arm64":
arch = "arm64" arch = "arm64"
elif self.os_name == "all_os":
if arch.startswith("android"):
arch = "qt{}_{}_{}".format(self.version.major, self._version_str(), arch.replace("android_", "", 1))
for ext in ["qtwebengine", "qtpdf"]: for ext in ["qtwebengine", "qtpdf"]:
extensions_target_folder = posixpath.join( extensions_target_folder = posixpath.join(
"online/qtsdkrepository", os_name, "extensions", ext, self._version_str(), arch "online/qtsdkrepository", os_name, "extensions", ext, self._version_str(), arch

View File

@@ -292,7 +292,7 @@ class ArchiveId:
), ),
) )
def to_extension_folder(self, module, version, arch) -> str: def to_extension_folder(self, module: str, version: Version, version_str: str, arch: str) -> str:
extarch = arch extarch = arch
if self.host == "windows": if self.host == "windows":
extarch = arch.replace("win64_", "", 1) extarch = arch.replace("win64_", "", 1)
@@ -300,11 +300,14 @@ class ArchiveId:
extarch = "x86_64" extarch = "x86_64"
elif self.host == "linux_arm64": elif self.host == "linux_arm64":
extarch = "arm64" extarch = "arm64"
elif self.host == "all_os":
if arch.startswith("android"):
extarch = "qt{}_{}_{}".format(version.major, version_str, arch.replace("android_", "", 1))
return "online/qtsdkrepository/{osarch}/extensions/{ext}/{ver}/{extarch}/".format( return "online/qtsdkrepository/{osarch}/extensions/{ext}/{ver}/{extarch}/".format(
osarch=self.to_os_arch(), osarch=self.to_os_arch(),
ext=module, ext=module,
ver=version, ver=version_str,
extarch=extarch, extarch=extarch,
) )
@@ -1021,7 +1024,7 @@ class MetadataFactory:
ext_pattern = re.compile(r"^extensions\." + r"(?P<module>[^.]+)\." + qt_ver_str + r"\." + arch + r"$") ext_pattern = re.compile(r"^extensions\." + r"(?P<module>[^.]+)\." + qt_ver_str + r"\." + arch + r"$")
for ext in QtRepoProperty.known_extensions(version): for ext in QtRepoProperty.known_extensions(version):
try: try:
ext_meta = self._fetch_extension_metadata(self.archive_id.to_extension_folder(ext, qt_ver_str, arch)) ext_meta = self._fetch_extension_metadata(self.archive_id.to_extension_folder(ext, version, qt_ver_str, arch))
for key, value in ext_meta.items(): for key, value in ext_meta.items():
ext_match = ext_pattern.match(key) ext_match = ext_pattern.match(key)
if ext_match is not None: if ext_match is not None:
@@ -1073,7 +1076,7 @@ class MetadataFactory:
ext_pattern = re.compile(r"^extensions\." + r"(?P<module>[^.]+)\." + qt_ver_str + r"\." + arch + r"$") ext_pattern = re.compile(r"^extensions\." + r"(?P<module>[^.]+)\." + qt_ver_str + r"\." + arch + r"$")
for ext in QtRepoProperty.known_extensions(version): for ext in QtRepoProperty.known_extensions(version):
try: try:
ext_meta = self._fetch_extension_metadata(self.archive_id.to_extension_folder(ext, qt_ver_str, arch)) ext_meta = self._fetch_extension_metadata(self.archive_id.to_extension_folder(ext, version, qt_ver_str, arch))
for key, value in ext_meta.items(): for key, value in ext_meta.items():
ext_match = ext_pattern.match(key) ext_match = ext_pattern.match(key)
if ext_match is not None: if ext_match is not None:

View File

@@ -43,6 +43,8 @@ This is implemented as a new host type - ``linux`` is amd64, ``linux_arm64`` is
As of Qt 6.7.0, the WASM architecture can be installed using ``all_os`` as host and ``wasm`` as target. As of Qt 6.7.0, the WASM architecture can be installed using ``all_os`` as host and ``wasm`` as target.
As of Qt 6.7.0, the android architecture can be installed using ``all_os`` as host and ``android`` as target.
To find out what versions of Qt are available, you can use the :ref:`aqt list-qt command <list-qt command>`. To find out what versions of Qt are available, you can use the :ref:`aqt list-qt command <list-qt command>`.
This command will print all versions of Qt available for Windows Desktop: This command will print all versions of Qt available for Windows Desktop:
@@ -126,6 +128,13 @@ The available architectures are ``wasm_singlethread`` and ``wasm_multithread``
$ aqt install-qt all_os wasm 6.7.0 wasm_singlethread $ aqt install-qt all_os wasm 6.7.0 wasm_singlethread
As of Qt 6.7.0, the android architecture can be installed using ``all_os`` as host and ``android`` as target.
The available architectures are ``android_x86'', ``android_armv7``, ``android_x86_64`` and ``android_arm64_v8a``
.. code-block:: console
$ aqt install-qt all_os android 6.7.0 android_armv7
External 7-zip extractor External 7-zip extractor
------------------------ ------------------------