admin管理员组文章数量:1130349
WSL完整环境包自取:10多个G大小要下载,所以觉得下载太大的跟着本教程一步步来也是可以的python程序打包成安卓可执行文件apk教程以及错误总结(附完整WSL环境)(下)(WSL环境分享使用篇)-CSDN博客
搭建WSL环境,代理使用教程(自备代理):
python程序打包成安卓可执行文件apk教程以及错误总结(附完整WSL环境)(中)(错误解决以及wsl代理篇)-CSDN博客
前言:分享一下曲折历程,顺便记录一下各种问题的解决方法,为后来者把自己写好的python程序打包成APK提供解决方案。
【Python应用打包安卓的曲折历程】
1. 项目启动
周一受启发决定开发函数绘图工具,基于Python matplotlib构建核心功能,初步选用tkinter嵌入matplotlib来完成桌面端界面开发(400+行代码)。
2. 初遇打包困境
• Buildozer打包apk遭遇依赖库安装失败
• 转战Beeware生成apk但闪退,发现可能是tkinter不兼容移动端
• 接着尝试PySide/PyQt重构界面,新问题层出不穷,依旧对安卓客户端兼容性不好
3. 迂回策略
• 用PyInstaller快速打包Windows版exe(成功跨设备运行)效果还不错,挺喜欢这个界面的
• 尝试exe转apk工具未果,包括在线转换与专业软件
4. 系统级攻坚
偶然间在B站评论区听说kivy兼容不错,尝试buildozer+kivy的组合:
看了许多博客发现之前buildozer装不上很大库是系统版本问题,似乎Ubuntu22.04能行,所以就尝试了。
• 搭建Ubuntu22.04虚拟机(WSL2下)环境解决编译依赖
• 突破性进展:通过WSL配置代理,解决网络问题 ,为后续下载各种依赖和工具包铺垫
• 最终采用Kivy重构界面(将近700行)+Ubuntu22.04(WSL)+Buildozer成功生成apk
5. 成果与遗憾
• 安卓端实现基础界面交互,以及基本的函数绘制,进制转换功能,以及计算器(启动/点击)
• 绘图功能因终端输出限制未能移植 matlab那样好用的绘图
• 累计涉及6种框架/工具,攻克3类系统环境问题
这段旅程虽以不完美的apk告终,却意外玩转了跨平台开发的环境配置链路。每一次报错都是对系统理解的加深,其实写下这个的时候,我已经再新的环境重新安装过一次了,所有的过程都跑过一遍了,从起初的近一个周,到再一次的几个小时,都是建立在无数的报错信息上的,数次让人崩溃的时候记忆犹新。(注:经历真实度100%,崩溃程度请自行脑补×3)
爆红掠影(经历过很多次这个了,已经无感了,这个只是因为jdk版本,从11换到17就好了):
完整教程开启:
一、准备工作:
1.WSL下的Ubuntu22.04,也可以是VMware虚拟机下的只要是22.04即可
2.代理,很多包下载会出错,超时啥的,最好代理,万一没有代理认真阅读,会给你解决办法的。
3.安装conda用于python环境管理,主要是和Linux的python区分开
4.坚强的心
二、开始构建:
如果以上你都具备了,那么你将事半功倍,不会再踩坑了
1.创建conda虚拟环境并激活,创建一个文件夹用于存放项目文件,
conda create -n kivy python=3.9
激活环境
conda activate kivy
mkdir apk
cd apk
2.安装必要的依赖并创建一个bin文件用于存放后续生成的apk文件
这里注意!!有的用的jdk11,但是我用这个版本报错,用jdk17则不会,爆红信息见开头图片
pip install buildozer
更新软件源,下载相关所有依赖
sudo apt update
sudo apt install -y git zip unzip openjdk-17-jdk python3-pip autoconf libtool pkg-config zlib1g-dev libncurses5-dev libncursesw5-dev libtinfo5 cmake libffi-dev libssl-dev
pip3 install --user --upgrade Cython==0.29.33 virtualenv
创建文件夹用于存放apk
export PATH=$PATH:~/.local/bin/
3.放置好你的python文件,并且改名为main.py
创建配置文件,配置相关信息,执行一下命令,会在apk下生成一个buildozer.spec文件,python文件和这个文件在同一级文件目录下
buildozer init
4.修改配置文件
必须做的:
设置图标(可选):注意使用ico格式的图片不会报错,尺寸上我用的是192*192的!!!
剩下的安卓版本根据自己需求来,我没有更改就用的默认的。
三、正式开始,建议打开手机刷视频或者泡杯咖啡
下面就是构建的命令了,祝你只用输入一次,因为我输入了很多次算上调试界面,上百次了吧!!!
开始构建
buildozer -v android debug
这个过程会非常缓慢,下载各种依赖,以及打包编译你前面写的requirements,下载过程还取决于你的网速以及你代理的速度,大概有这么多要下载的。
下载其实算快的对于我来说,构建编译过程才是真的慢,不过看着文件一个个快速编译,一个报错都没有,还是很有成就感的,欣赏一下其中一个截图吧
如果出现下面这个界面恭喜你成功了,在你的apk项目目录下的bin中取你的.apk文件吧
WSL完整环境包自取:10多个G大小要下载,所以觉得下载太大的跟着本教程一步步来也是可以的python程序打包成安卓可执行文件apk教程以及错误总结(附完整WSL环境)(下)(WSL环境分享使用篇)-CSDN博客
搭建WSL环境,代理使用教程(自备代理):
python程序打包成安卓可执行文件apk教程以及错误总结(附完整WSL环境)(中)(错误解决以及wsl代理篇)-CSDN博客
前言:分享一下曲折历程,顺便记录一下各种问题的解决方法,为后来者把自己写好的python程序打包成APK提供解决方案。
【Python应用打包安卓的曲折历程】
1. 项目启动
周一受启发决定开发函数绘图工具,基于Python matplotlib构建核心功能,初步选用tkinter嵌入matplotlib来完成桌面端界面开发(400+行代码)。
2. 初遇打包困境
• Buildozer打包apk遭遇依赖库安装失败
• 转战Beeware生成apk但闪退,发现可能是tkinter不兼容移动端
• 接着尝试PySide/PyQt重构界面,新问题层出不穷,依旧对安卓客户端兼容性不好
3. 迂回策略
• 用PyInstaller快速打包Windows版exe(成功跨设备运行)效果还不错,挺喜欢这个界面的
• 尝试exe转apk工具未果,包括在线转换与专业软件
4. 系统级攻坚
偶然间在B站评论区听说kivy兼容不错,尝试buildozer+kivy的组合:
看了许多博客发现之前buildozer装不上很大库是系统版本问题,似乎Ubuntu22.04能行,所以就尝试了。
• 搭建Ubuntu22.04虚拟机(WSL2下)环境解决编译依赖
• 突破性进展:通过WSL配置代理,解决网络问题 ,为后续下载各种依赖和工具包铺垫
• 最终采用Kivy重构界面(将近700行)+Ubuntu22.04(WSL)+Buildozer成功生成apk
5. 成果与遗憾
• 安卓端实现基础界面交互,以及基本的函数绘制,进制转换功能,以及计算器(启动/点击)
• 绘图功能因终端输出限制未能移植 matlab那样好用的绘图
• 累计涉及6种框架/工具,攻克3类系统环境问题
这段旅程虽以不完美的apk告终,却意外玩转了跨平台开发的环境配置链路。每一次报错都是对系统理解的加深,其实写下这个的时候,我已经再新的环境重新安装过一次了,所有的过程都跑过一遍了,从起初的近一个周,到再一次的几个小时,都是建立在无数的报错信息上的,数次让人崩溃的时候记忆犹新。(注:经历真实度100%,崩溃程度请自行脑补×3)
爆红掠影(经历过很多次这个了,已经无感了,这个只是因为jdk版本,从11换到17就好了):
完整教程开启:
一、准备工作:
1.WSL下的Ubuntu22.04,也可以是VMware虚拟机下的只要是22.04即可
2.代理,很多包下载会出错,超时啥的,最好代理,万一没有代理认真阅读,会给你解决办法的。
3.安装conda用于python环境管理,主要是和Linux的python区分开
4.坚强的心
二、开始构建:
如果以上你都具备了,那么你将事半功倍,不会再踩坑了
1.创建conda虚拟环境并激活,创建一个文件夹用于存放项目文件,
conda create -n kivy python=3.9
激活环境
conda activate kivy
mkdir apk
cd apk
2.安装必要的依赖并创建一个bin文件用于存放后续生成的apk文件
这里注意!!有的用的jdk11,但是我用这个版本报错,用jdk17则不会,爆红信息见开头图片
pip install buildozer
更新软件源,下载相关所有依赖
sudo apt update
sudo apt install -y git zip unzip openjdk-17-jdk python3-pip autoconf libtool pkg-config zlib1g-dev libncurses5-dev libncursesw5-dev libtinfo5 cmake libffi-dev libssl-dev
pip3 install --user --upgrade Cython==0.29.33 virtualenv
创建文件夹用于存放apk
export PATH=$PATH:~/.local/bin/
3.放置好你的python文件,并且改名为main.py
创建配置文件,配置相关信息,执行一下命令,会在apk下生成一个buildozer.spec文件,python文件和这个文件在同一级文件目录下
buildozer init
4.修改配置文件
必须做的:
设置图标(可选):注意使用ico格式的图片不会报错,尺寸上我用的是192*192的!!!
剩下的安卓版本根据自己需求来,我没有更改就用的默认的。
三、正式开始,建议打开手机刷视频或者泡杯咖啡
下面就是构建的命令了,祝你只用输入一次,因为我输入了很多次算上调试界面,上百次了吧!!!
开始构建
buildozer -v android debug
这个过程会非常缓慢,下载各种依赖,以及打包编译你前面写的requirements,下载过程还取决于你的网速以及你代理的速度,大概有这么多要下载的。
下载其实算快的对于我来说,构建编译过程才是真的慢,不过看着文件一个个快速编译,一个报错都没有,还是很有成就感的,欣赏一下其中一个截图吧
如果出现下面这个界面恭喜你成功了,在你的apk项目目录下的bin中取你的.apk文件吧
版权声明:本文标题:python程序打包成安卓可执行文件apk教程以及错误总结(附完整WSL环境)(上)(手动部署篇) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://it.en369.cn/jiaocheng/1753812961a2609442.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论