python+buildozer+kivy打包apk文件

首先,我想说,用python+buildozer+kivy打包apk文件问题是真的不少。
耗时3天里抽时间去搭建这个环境。
好,下面进入正题!!!

virtualBox虚拟机安装

首先安装virtualbox虚拟机,以及下载一个镜像文件


图片.png

virtualbox没啥好说的,傻瓜式安装。
然后新建一个虚拟电脑,用下载的镜像文件安装系统。
ps:我这边安装的是uBuntu 64


图片.png

还有个注意的点,磁盘空间记得配置大些,我刚开始弄了10G,安装各种依赖时一下就爆了。导致开机不了。可以参考我的进行设置
图片.png

Buildozer+kivy安装

这里进入正题,安装buildozer+kivy。
强烈强烈强烈建议,参考官网文档进行安装配置,网上的帖子贼多问题,走了很多弯路。

kivy:https://kivy.org/doc/stable/gettingstarted/installation.html#install-pip

图片.png

buidozer:https://buildozer.readthedocs.io/en/latest/installation.html#android-on-ubuntu-20-04-64bit

图片.png

ok,按照官网文档安装完成。

打包apk

首先我们先测试一下主文件是否可以正常运行python3 main.py
一、新建一个文件夹,然后cd到文件夹,终端输入buildozer init进行初始化
二、把主文件放到新建的文件夹里面,并重命名为main.py
三、输入打包命令buildozer android debug进行打包时,首次打包会慢一些(其实很慢,慢慢等吧),而且应该还会遇到一系列奇怪的问题卡住或报错。
比如:

  • 一直卡在下载hostpython3这里,且无法继续。此时应该是谷歌链接下载不了问题。可以尝试翻墙解决。我是翻墙后重试了很多次才解决的。如果翻墙还是一直卡住,就多试几次吧。
    [INFO]: Downloading hostpython3 from https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz

  • 然后,看着hostpython3终于下载完,满心期待的等待打包成功时,又卡住了,emmm....此时内心万马奔腾,什么玩意啊。

    • 卡1:
      Starting a Gradle Daemon, 2 busy Daemons could not be reused, use --status for details
    • 卡2:
      [INFO]: Detected highest available build tools version to be 33.0.0-rc4[DEBUG]: -> running gradlew assembleDebug
      其实:卡住的地方还有好几个,我只记录了一部分。

那么,我最后是如何打包成功的呢。就是多试几次,TM居然成功了!!!
我发誓什么都没有动,就是这么神奇

成功后下次打包只要代码正确,以及buildozer.spec配置文件没问题。打包时应该没啥问题了

图片.png

图片.png

安装apk

没错,我迫不及待的安装到手机上,打开程序后结果直接闪退了。
查了下问题原因:
原因是我的main.py主文件调用了numpy,但是buildozer.spec配置文件里面未导入。
直接在buildozer.spec文件的requirements字段里面添加numpy库,问题解决
requirements = python3,kivy,requests,numpy
参考处理:https://www.codenong.com/cs106517353/

图片.png

再次打包安装,成功打开!!


图片.png

下次使用:
1、进入虚拟环境source kivy_venv/bin/activate
2、cd到buildozer初始化的目录(主文件也在此目录的)
3、运行打包命令buildozer android debug

你可能感兴趣的:(python+buildozer+kivy打包apk文件)