您使用 Kivy 或 Kivymd 使用 python 创建了一个 android 应用程序,但它仍然是 .py 格式。您如何将其转换为可安装的 .apk 文件,该文件不会因为您无法弄清楚的原因而崩溃并尽快完成?别担心,我帮你搞定了。继续阅读。
我使用 kivy 和kivymd包用 python创建了一个简单的石头剪刀布应用程序(你可以在这里查看它的代码)。然后我开始了一段令人沮丧的旅程,试图将它转换成一个可安装的安卓应用程序,一旦你打开它就不会崩溃。我做的。在这篇文章中,我将为您简化流程以及如何确保您的应用不会崩溃。
如果您没有使用 Kivy 或 Kivymd 的经验,您可以开始使用本教程,该教程教您在 9 分钟内创建一个简单的应用程序。但即使您使用 python 和 kivymd 创建的应用程序看起来很棒并且具有材料设计。它们仍然是.py
格式。那么如何将你的 python 程序转换成可安装的.apk
文件呢?
这就是buildozer和Google Collab 的用武之地。 Buildozer 是一种用于轻松打包手机应用程序的工具。它自动化了整个构建过程并下载了python-for-android、Android SDK、NDK等先决条件。Google Colaboratory,或简称“Colab”,允许您通过浏览器编写和执行任何python代码。它无需设置即可使用,并提供对计算资源的免费访问,包括来自 Google 的 GPU。
.py
这是转换为.apk
的简单分步过程
第 1 步:使用这些预先编写的命令
打开这个colab notebook,你会发现一些预先写好的命令。但是不要执行任何命令!检查完后回到这里等待我的命令;-)
开始一一执行命令,直到你到达这个命令!buildozer init,不要执行它。
第 2 步:导入您的 .py 文件(以及您在应用中使用的资产)
导入 .py 文件后,将其重命名为,main.py否则 buildozer 将无法识别它必须处理的 python 程序。
第 3 步:运行“!buildozer”初始化命令
当你运行!buildozer init命令时,它会生成一个buildozer.spec文件,双击打开它。您可以编辑此文件的内容以更改应用程序的包名称、应用程序名称、应用程序图标、初始屏幕图像、宝宝的尿布等等。浏览一下,看看你能做出什么改变。但是先不要执行!buildozer -v android debug命令!!
第 4 步:确保您的应用不会崩溃!!
我做了所有这些,然后我执行了下一个命令,即!buildozer -v android debug. 它生成了一个 .apk 文件,我很高兴地将它传输到我的手机并安装。但是当我打开它时,它崩溃了。我尝试调试我的应用程序,我冒险进入 Stackoverflow 和 Quora 的深林,讨论遇到类似问题的人,但没有任何效果。我花了两天时间才弄明白。这是我解决问题的方法。
在buildozer.spec文件的内容中有一个需求部分。并且随着python3,kivy并且kivymd您必须添加pillow到要求中。好的,现在,到底是什么pillow!?我不记得在我的代码中使用过任何名为“pillow”的包。好吧,事实证明,pillow 或 PIL(Python 图像库)是 kivymd 所依赖的 python 包。所以这就是你的需求部分的buildozer.spec样子(下图):
更改后不要忘记保存buildozer.spec
文件。
第 5 步:执行“!buildozer -v android debug”
运行!buildozer -v android debug
并等待。大概需要15分钟以上。它会通过在过程中间输入“y”一两次来要求您确认,因此请注意这一点。
完成所有处理后,您会看到一个新文件夹出现在左侧,名称为bin。在里面bin你会找到一个.apk文件,把它传输到你的手机里。安装它,测试它,希望它不会崩溃。