天涯论坛

 找回密码
 立即注册
搜索
查看: 50|回复: 6

运用python kivy构建手机可安装的apk软件,亲测有效

[复制链接]

3105

主题

176

回帖

9909万

积分

论坛元老

Rank: 8Rank: 8

积分
99098711
发表于 2024-8-17 17:46:11 | 显示全部楼层 |阅读模式

可将python kivy框架编写的程序打包成apk文件,亲测有效。欢迎小伙伴们点赞保藏,以备下次必须能够快速找到。

下面是自己经过持续尝试,最终能够成功将自定义程序打包成为了手机能安装的app文件,首要保准网络足够好,在打包编辑过程中会有非常多东西必须在github上下载,

准备:

系统:Ubuntu 20.04.6 LTS

python 版本:Python 3.8.10 系统自带就可

kivy 版本:1.9.1(由自己实质程序编写的版本为准)

buildozer版本 1.5.0

cython: 3.0.1 (看官网上kivy2.2.1对应的版本是3.x.x)

登录官网:https://github.com/kivy/kivy 查看

1、安装lib库

1.1

sudo apt-get update sudo apt-get dist-upgrade sudo apt-get install make git zip unzip dp公斤 libffi-dev zlib1g-dev sudo apt-get install build-essential libgl1-mesa-dev libgles2-mesa-dev python3-dev sudo apt-get install autoconf libtool libevent-dev sudo apt-get install openjdk-11-jdk -y sudo apt-get install build-essential python-dev python-setuptools sudo apt-get installlibncursesw5-dev libgdbm-dev libc6-dev sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev sudo apt-get install libssl-dev openssl cython sudo apt-get install python3-ip

2、 安装buildozer

sudopip3 install buildozer

三,打包成apk文件

以上准备工作已然做完,第1次打包会下载所有必须的包,因此打包时必须网络畅通,许多包都是必须在github上下载,因此需稳定拜访github,能够找一个加速拜访的工具,

3.1 加速器下载位置

https://github.com/dotnetcore/FastGithub

倘若github网络不稳定,能够下载加速器

将加速器放在linux系统上某个自定义目录下:

export http_proxy=http://127.0.0.1:38457 #设置网络代理export https_proxy=http://127.0.0.1:38457 env | grep -i proxy#查看当前代理设置 sudo ./fastgithub #将程序解压后执行

3.2 初始化项目

cd 项目路径 创立main.py文件 sudo buildozer init

3.3 修改修改buildozer.spec文件(Cython意见写入,其他第三方模块按照必须写入)

requirements = kivy==2.2.1,Cython==3.0.1 #将必须导入的第三方包写入

requirements

sudo buildozer -v android debug #再项目所在目录执行

成功执行完命令后会在项目所在目录下的bin目录下生成apk软件

四,再次打包其他程序

1. 进入到您要打包成 APK 的软件项目目录中。

2.删除程序目录下原有的buildozer.spec文件,删除程序下原程序的代码文件,切记不要删除.开头的文件,而后重新构建

rm -rf buildozer buildozer init

4.编辑新生成的buildozer.spec 文件将必须加载的第三方文件,已然必须打包进程序的文件结尾加进去(最好都加上Cython,我用的是3.0.1版本,其他第三方模块必须写入)

buildozer.spec文件

5. 运行命令sudo buildozer -v android debugsudo buildozer android release详细按照您的需求选取)来构建 APK。

sudo buildozer -v android debug

注:

有时候,buildozer的缓存可能引起文件冲突。你能够尝试清理buildozer的缓存,而后再次运行打包命令。能够经过运行以下命令来清理缓存:

buildozer distclean

意思是运用 buildozer 工具在 Android 环境中进行构建,并清理构建过程中生成的临时文件和构建输出。

sudo buildozer -v android clean

总结:再打包apk软件环境的过程中会显现各样的问题,大众必定要看日志输出的是什么,第1大问题便是网络问题,有些包必须反复执行buildozer多次才可下载。尤其到必须下载jpeg zlip文件的时候,倘若半途网络断掉,必须重新删除已然下载的文件再次执行构建命令。

下面是我最后遇到的问题:

# unzip gradle-7.4.1-all.zip Archive: gradle-7.4.1-all.zip End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive. In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive. unzip: cannot find zipfile directory in one of gradle-7.4.1-all.zip or gradle-7.4.1-all.zip.zip, and cannot find gradle-7.4.1-all.zip.ZIP, period

大概意思是gradle-7.4.1-all.zip 下载成功,其实在执行buildozer构建的时候会提示下载这个文件的位置,大众能够提前下载好,等构建过程中显现上面的问题时,找到gradle-7.4.1-all.zip存放的位置,删除原来的文件,将自己下载的文件放到此处。

总之,制作打包环境真的是很难啊,做好环境后给自己的虚机做个快照,以避免系统出问题再次构建打包环境。





上一篇:QPython,一个在手机上运行Python的神器
下一篇:在Android手机上运行 Python?Termux能够!
回复

使用道具 举报

0

主题

1万

回帖

1

积分

新手上路

Rank: 1

积分
1
发表于 2024-8-22 23:57:56 | 显示全部楼层
外贸网站建设方法 http://www.fok120.com/
回复

使用道具 举报

0

主题

1万

回帖

1

积分

新手上路

Rank: 1

积分
1
发表于 2024-9-9 17:19:41 | 显示全部楼层
认真阅读了楼主的帖子,非常有益。
回复

使用道具 举报

3045

主题

3万

回帖

9606万

积分

论坛元老

Rank: 8Rank: 8

积分
96065860
发表于 2024-10-2 05:55:29 | 显示全部楼层
我完全同意你的观点,说得太对了。
回复

使用道具 举报

2984

主题

2万

回帖

9956万

积分

论坛元老

Rank: 8Rank: 8

积分
99569176
发表于 2024-10-3 23:40:25 | 显示全部楼层
谢谢、感谢、感恩、辛苦了、有你真好等。
回复

使用道具 举报

3045

主题

2万

回帖

9910万

积分

论坛元老

Rank: 8Rank: 8

积分
99109052
发表于 2024-10-29 02:17:24 | 显示全部楼层
外贸B2B平台有哪些?
回复

使用道具 举报

3069

主题

3万

回帖

9915万

积分

论坛元老

Rank: 8Rank: 8

积分
99158935
发表于 2024-10-30 09:41:27 | 显示全部楼层
感谢楼主分享,祝愿外链论坛越办越好!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|天涯论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-11-22 16:28 , Processed in 0.926067 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.