1414
1515## Supported Versions
1616
17- - ** PySide6:** ` 6.9.3 ` (guide verified against this version)
17+ - ** PySide6:** ` 6.10.1 ` (guide verified against this version)
1818- ** Python:** ` 3.11.x ` (preferred) or ` 3.10.x `
1919
2020> [ !WARNING]
@@ -60,16 +60,15 @@ You’ll save hours of compilation time and avoid a lot of complexity.
6060> [ !NOTE]
6161> As of now, official Android wheels are available for ** ` aarch64 ` ** and ** ` x86_64 ` ** .
6262
63- ** Direct links for 6.9 .1 (Python 3.11):**
63+ ** Direct links for 6.10 .1 (Python 3.11):**
6464
6565- ** PySide6**
66- - [ aarch64] ( https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-6.9.3 -6.9.3 -cp311-cp311-android_aarch64.whl )
67- - [ x86_64] ( https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-6.9.3 -6.9.3 -cp311-cp311-android_x86_64.whl )
66+ - [ aarch64] ( https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-6.10.0 -6.10.0 -cp311-cp311-android_aarch64.whl )
67+ - [ x86_64] ( https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-6.10.1 -6.10.1 -cp311-cp311-android_x86_64.whl )
6868
6969- ** Shiboken6**
70- - [ aarch64] ( ) (NOT AVAILABLE)
71- - [ x86_64] ( ) (NOT AVAILABLE)
72-
70+ - [ aarch64] ( https://download.qt.io/official_releases/QtForPython/shiboken6/shiboken6-6.10.1-6.10.1-cp311-cp311-android_aarch64.whl ) (NOT AVAILABLE)
71+ - [ x86_64] ( https://download.qt.io/official_releases/QtForPython/shiboken6/shiboken6-6.10.1-6.10.1-cp311-cp311-android_x86_64.whl ) (NOT AVAILABLE)
7372
7473
7574If you prefer building your own wheels, see the [ Legacy] ( #legacy-building-the-wheels-yourself ) section below.
@@ -95,7 +94,7 @@ sudo pacman -Syu base-devel android-tools android-udev clang jdk17-openjdk llvm
9594cd ~ /
9695git clone https://code.qt.io/pyside/pyside-setup
9796cd pyside-setup
98- git checkout 6.9.3 # dev branch can work, but is more error-prone
97+ git checkout 6.10.1 # dev branch can work, but is more error-prone
9998python3 -m venv venv
10099source venv/bin/activate
101100pip install -r requirements.txt
@@ -314,7 +313,7 @@ pip install fastapi pydantic uvicorn
314313
315314> [ !NOTE]
316315> This path is provided for reference and is ** not** maintained as frequently. It may contain rough edges. Proceed if
317- > you specifically need custom builds or unsupported combinations.
316+ > you specifically need custom- builds or unsupported combinations.
318317
319318### Install Qt
320319- Sign in at [ qt.io] ( https://qt.io ) .
@@ -332,22 +331,11 @@ sudo pacman -Syu base-devel android-tools android-udev clang jdk17-openjdk llvm
332331### Prepare ` pyside-setup `
333332
334333``` bash
335- python -m venv venv
334+ python3.11 -m venv venv
336335source venv/bin/activate
337336git clone https://code.qt.io/pyside/pyside-setup
338- wget https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_140-based-linux-Rhel8.2-gcc9.2-x86_64.7z
339- 7z x libclang-release_140-based-linux-Rhel8.2-gcc9.2-x86_64.7z
340- export LLVM_INSTALL_DIR=$PWD /libclang
341-
342- # Persist for your shell
343- if [ -n " $ZSH_VERSION " ]; then
344- echo " export LLVM_INSTALL_DIR=$PWD /libclang" >> ~ /.zshrc
345- elif [ -n " $BASH_VERSION " ]; then
346- echo " export LLVM_INSTALL_DIR=$PWD /libclang" >> ~ /.bashrc
347- fi
348-
349337cd pyside-setup
350- git checkout 6.9.3 # dev is possible, but not recommended
338+ git checkout 6.10.1 # dev is possible, but not recommended
351339pip install -r requirements.txt
352340pip install -r tools/cross_compile_android/requirements.txt
353341pip install pyside6
@@ -367,6 +355,18 @@ Android architectures:
367355> [ !NOTE]
368356> You only need to build these once; you can reuse the wheels across projects.
369357
358+ #### Important:
359+ You need to make a dummy fix for armv7a to work. After you have compiled the other 3 architectues, go to:
360+ ` ~/.pyside6_android_deploy/toolchain_armv7a.cmake ` and remove the if statement after line 28, where it
361+ applies the ` '-mpopcnt' ` as a target, because this is invalid for armv7a. I don't know why Qt has it there, because
362+ it makes no sense, but yeah just remove it, and you are good to go.
363+
364+ So basically remove evrything after the ` set(QT_COMPILER_FLAGS) .... -Wno-unused-command-line-argument") `
365+ and before ` set(QT_COMPILER_FLAGS_RELEASE "-O2 -pipe") `
366+
367+ But that don't clean cache then, because this will obviously override the toolchain.
368+
369+
370370** Speed‑ups (optional):**
371371- To build for ** Python 3.10** , edit ` main.py ` and change ` PYTHON_VERSION = 3.11 ` to ` 3.10 ` .
372372- To change the NDK version from ` r27c ` , edit ` tools/cross_compile_android/android_utilities.py ` .
@@ -375,7 +375,7 @@ Android architectures:
375375** Template command:**
376376
377377``` bash
378- python tools/cross_compile_android/main.py --plat-name=< aarch64| armv7a| x86_64| i686> --qt-install-path=/path/to/Qt/6.9 .1 --api-level 35 --auto-accept-license
378+ python tools/cross_compile_android/main.py --plat-name=< aarch64| armv7a| x86_64| i686> --qt-install-path=/path/to/Qt/6.10 .1 --api-level 35 --auto-accept-license --clean-cache all
379379```
380380
381381Wheels appear under ` dist/ ` when complete. If you hit errors, try:
@@ -386,7 +386,6 @@ Wheels appear under `dist/` when complete. If you hit errors, try:
386386---
387387
388388## Contributing
389-
390389Spotted inaccuracies or have improvements? Please open an issue or PR. Contributions for other distributions (besides
391390Arch) are especially welcome.
392391
0 commit comments