Python 部署安卓应用——弃坑指南(却退)
文章目录
- Python 部署安卓应用——弃坑指南(血和泪的教训)
- 为什么写这篇文章
- 结论
- 笔者环境
- 折腾建议
- 安装基础依赖
- 部署包准备
- 安卓`sdk`命令行下载工具
- 下载NDK和SDK
- Python 部署环境安装
- 文件
Python 部署安卓应用——弃坑指南(血和泪的教训)
为什么写这篇文章
首先我怀着悲伤且气愤的心情,为什么呢?Qt的大名可能学C++以及学Python图形化界面开发以及嵌入式开发的都大有耳闻!本以为Qt for Python PySide也有良好的跨平台性,不过以我努力一天还没解决Linux上部署环境的问题,想必Qt For Python能支持安卓就要画一个大大的问号了。
虽然是基于pyside6-android-deploy 但是这个命令工具也是复用的python for Android 的轮子 所以同样适用。
结论
Qt for python => PySide6或PyQt 开发桌面应用程序还OK,支持macOS、Linux、Windows,安卓还是借用的Kivy的轮子,还是等等吧。截至北京时间2025年10月25日
我在Linux上折腾了几乎一整天 还是没法正常使用pyside6-android-deploy部署出安卓应用。
笔者环境
- 系统环境: Fedora Linux 42 (Workstation Edition)
- Python环境: Python 3.11.x
- Conda/Minconda环境:conda 25.7.0
- PySide环境: PySide6.10.0
这里如果想折腾建议选用早期的PySide 6.8.XPython建议选择更稳定的Python 3.9.X
折腾建议
笔者的环境是fedora所以安装命令就是redhat系列的,其他的请自行查找
安装基础依赖
sudo dnf install gcc gcc-c++ autoconf automake libtool java-devel
部署包准备
这些是部署安卓应用必备的,需要注意几个点
- 部署目标环境对应的
PySide - 部署目标环境对应的
shiboken6
官网下载链接
比如我想部署到arm64架构安卓手机上边
shiboken6-6.10.0-6.10.0-cp311-cp311-android_aarch64.whl
PySide6-6.10.0-6.10.0-cp311-cp311-android_aarch64.whl)
参考依据
安卓sdk命令行下载工具
扒拉到最下边

下载NDK和SDK
解压后执行(解压文件夹) 重命名为sdk
按照官网要求安装对应的版本
happy@fedora:~/sdk$ cmdline-tools/lastest/bin/sdkmanager "platform-tools"
cmdline-tools/lastest/bin/sdkmanager "platforms;android-34"
cmdline-tools/lastest/bin/sdkmanager "platforms;android-34"
Python 部署环境安装
pip install -r /home/happy/miniconda3/envs/PySide6_Deploy/lib/python3.9/site-packages/PySide6/scripts/requirements-android.txt
如果部署出现 packaging==24 使用如下命令安装
pip3 install packaging==24
文件
文件必须以main.py命名
├── Android
│ ├── PySide6-6.10.0-6.10.0-cp311-cp311-android_aarch64.whl
│ └── shiboken6-6.10.0-6.10.0-cp311-cp311-android_aarch64.whl
├── main.py
└── pysidedeploy.spec
一个示例的部署命令
pyside6-android-deploy --name "test" \
> --wheel-pyside=Android/PySide6-6.10.0-6.10.0-cp311-cp311-android_aarch64.whl \
> --wheel-shiboken=Android/shiboken6-6.10.0-6.10.0-cp311-cp311-android_aarch64.whl \
> --ndk-path=/home/happy/.android_sdk/ndk \
> --sdk-path=/home/happy/.android_sdk
