用户名
Email
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
帖子
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
软件与程序人生
›
移动端开发
›
python安卓开辟——kivy打包安卓APK徐徐教程 ...
python安卓开辟——kivy打包安卓APK徐徐教程
万万哇
论坛元老
|
2024-6-13 20:00:22
|
显示全部楼层
|
阅读模式
楼主
主题
1683
|
帖子
1683
|
积分
5049
之前偶尔打仗到了python开辟app的工具kivy(也能开辟windows/linux/mac应用),然后发现网上教程少少,以致第一步打包apk就劝退了很多人,我也踩了很多坑,最后照旧一一解决了,这里写个博文记录下。
我选择用buidlozer打包apk,主要参考官方文档:https://buildozer.readthedocs.io/en/latest/installation.html
从文档上看,这个工具主要是在linux和macos上用,我这边主要用windows,所以我选择用虚拟机来搭建打包环境。
整个搭建过程录频传到b站上了,供参考python安卓开辟——kivy打包安卓APK徐徐教学
一、准备linux环境和相关工具
这里直接VMware+Ubuntu20.04解决环境问题,这一有个坑,
一定要用18以上的ubuntu,否则大概因为openssl版本导致后续步骤失败
。怎样安装虚拟机和在虚拟机上安装体系就不赘述了,一般按照安装引导就ok。
安装完成后为了后续方便利用,建议安装以下两个工具:
openssl-server(linux)+Mobaxterm(windows)。ssh登录linux,方便windows下贴下令,否则的话需要安装vmware-tools,但是感觉这个不太好用。另外也可以通过这个来在虚拟机和windows间传输文件。这个配置也简单,直接sudo apt install openssl-server即可
samba。linux上配置samba方便共享文件,这样windows可以直接添加网络位置,可以方便地在windows上编辑文件并在linux编译运行。可参考博文【详细步骤】Ubuntu安装Samba服务及配置共享文件夹进行配置
二、准备python环境
官方文档说的需要3.8以上版本,因此我也就直接用3.8了。
为了后续方便,照旧用conda来管理python环境,我这里用的miniconda,因为文件要小一些,所需要的功能也都有。
conda create -n kivy python=3.8
source activate kivy
pip install kivy
复制代码
然后把我们在windows下写的程序传到虚拟机内里,代码是一段简单的demo如下,python ./main验证ok
from kivy.app import App
from kivy.uix.button import Button
class TestApp(App):
def build(self):
return Button(text='iPaoMi')
TestApp().run()
复制代码
三、buildozer打包apk
在工程目录下,执行以下下令
3.1 初始化
在工程目录下执行buildozer init,会生成一个.spec配置文件,内容可以本身看看,包括App名称等,这里我也没有细致研究。
3.2 buildozer -v android debug
接下来是个巨坑,官方文档上说明是执行buildozer -v android debug,如果你是初次运行,就可以去泡一杯咖啡了。因为这个过程中会主动下载SDK/NDK等内容。
然后第一个坑就来了,如果你是ubuntu16,那么大概跑了十几分钟后会失败,提示ssl之类的错误。
其实这里并不需要邪术,可以正常下载,缘故原由就在ubuntu的ssl版本。
SDK内里用的python3.10.10,要求openssl版本大于1.1.1
如果你愿意折腾,可以试试升级一下是否能解决这个问题,但我建议直接用ubuntu20.04,按官方文档来。
然后是第二个坑,如果下载过程中网络颠簸导致失败,重新尝试下载时,会提示文件已存在,大概是某某工具找不到
因为之前下载未完成但是大概文件已经存在,这将影响工具对下载状态的判断,需要删除工程目录下的.buildozer文件夹和用户目录下的.buildozer文件夹
然后是第三个坑,下了十几分钟文件后,有一个文件无法下载,看域名确实是需要邪术才能下载,但是这并不意味着我们需要这个文件
重新执行之前的下令,发现没有出现前面的问题,开始正式编译了,最终生成目录bin,并在其下能找到apk文件。
四、验证
这里没有像官方文档中建议那样直接用USB调试,而是简单的将APK文件拖入安卓模拟器验证,执行ok。
后续修改代码内容重新编译,约莫只需要半分钟即可打包完成。也就是第一次利用比较困难。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
万万哇
论坛元老
这个人很懒什么都没写!
楼主热帖
markdown day 01
Linux系统调用四、lseek()函数详解 ...
Nacos注册中心-----从0开始搭建和使用 ...
ClickHouse(05)ClickHouse数据类型详解 ...
基于CSDN云和docker全家桶的微服务项目 ...
【云原生】Docker 进阶 -- 数据卷使用 ...
100天精通Python(进阶篇)——第39天 ...
应急救灾物资行业标准与规范 ...
阿里云域名购买流程以及免费证书的申请 ...
redis for windows 7.0.2安装包全网首 ...
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
IOS
快速回复
返回顶部
返回列表