diff --git a/aqt/archives.py b/aqt/archives.py index 26fce63..890b498 100644 --- a/aqt/archives.py +++ b/aqt/archives.py @@ -431,6 +431,9 @@ class QtArchives: arch = "x86_64" elif self.os_name == "linux_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"]: extensions_target_folder = posixpath.join( "online/qtsdkrepository", os_name, "extensions", ext, self._version_str(), arch diff --git a/aqt/metadata.py b/aqt/metadata.py index 30df5d4..d966ee9 100644 --- a/aqt/metadata.py +++ b/aqt/metadata.py @@ -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 if self.host == "windows": extarch = arch.replace("win64_", "", 1) @@ -300,11 +300,14 @@ class ArchiveId: extarch = "x86_64" elif self.host == "linux_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( osarch=self.to_os_arch(), ext=module, - ver=version, + ver=version_str, extarch=extarch, ) @@ -1021,7 +1024,7 @@ class MetadataFactory: ext_pattern = re.compile(r"^extensions\." + r"(?P[^.]+)\." + qt_ver_str + r"\." + arch + r"$") for ext in QtRepoProperty.known_extensions(version): 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(): ext_match = ext_pattern.match(key) if ext_match is not None: @@ -1073,7 +1076,7 @@ class MetadataFactory: ext_pattern = re.compile(r"^extensions\." + r"(?P[^.]+)\." + qt_ver_str + r"\." + arch + r"$") for ext in QtRepoProperty.known_extensions(version): 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(): ext_match = ext_pattern.match(key) if ext_match is not None: diff --git a/docs/getting_started.rst b/docs/getting_started.rst index ce03e1b..a9935b9 100644 --- a/docs/getting_started.rst +++ b/docs/getting_started.rst @@ -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 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 `. 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 +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 ------------------------