您使用 Kivy 或 Kivymd 使用 python 创建了一个 android 应用程序,但它仍然是 .py 格式。您如何将其转换为可安装的 .apk 文件,该文件不会因为您无法弄清楚的原因而崩溃并尽快完成?别担心,我帮你搞定了。继续阅读。

我使用 kivy 和kivymd包创建了一个简单的石头剪刀布应用(你可以在这里查看它的代码)。然后我开始了一段令人沮丧的旅程,试图将它转换成一个可安装的安卓应用程序,一旦你打开它就不会崩溃。我做的。在这篇文章中,我将为您简化流程以及如何确保您的应用不会崩溃。

如果你没有使用 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的简单分步过程

STEP 1:使用这些预先写好的命令

打开这个colab notebook,你会发现一些预先写好的命令。但是不要执行任何命令!检查完后回到这里等待我的命令;-)

colab-buildozer-ss.png

开始一一执行命令,直到到达这个命令!buildozer init,先不要执行。

colab-buildozer-ss2.png

第 2 步:导入您的 .py 文件(以及您在应用程序中使用的资产)

导入 .py 文件后,将其重命名为main.py否则 buildozer 将无法识别它必须处理的 python 程序。

colab-buildozer-ss3.png

第 3 步:运行“!buildozer”初始化命令

当你运行!buildozer init命令时,它会生成一个buildozer.spec文件,双击打开它。您可以编辑此文件的内容以更改应用程序的包名称、应用程序名称、应用程序图标、启动画面图像、宝宝的尿布等等。浏览一下,看看你能做出什么改变。但是先不要执行!buildozer -v android debug命令!!

colab-buildozer-ss4.png

第 4 步:确保您的应用不会崩溃!!

我做了这一切,然后我执行了下一个命令,即!buildozer -v android debug。它生成了一个 .apk 文件,我很高兴地将它传输到我的手机并安装。但是当我打开它时,它崩溃了。我尝试调试我的应用程序,我冒险进入 Stackoverflow 和 Quora 的深林,讨论遇到类似问题的人,但没有任何效果。我花了两天时间才弄明白。这是我解决问题的方法。

buildozer.spec文件的内容中有一个需求部分。除了python3kivykivymd之外,您还必须将pillow添加到要求中。好的,现在,pillow到底是什么!?我不记得在我的代码中使用过任何名为“pillow”的包。好吧,事实证明,pillow 或 PIL(Python 图像库)是 kivymd 所依赖的 python 包。这就是您的buildozer.spec的需求部分的外观(下图):

colab-buildozer-ss5.png

进行更改后不要忘记保存您的buildozer.spec文件。

第五步:执行“!buildozer -v android debug”

运行!buildozer -v android debug并等待。大概需要15分钟以上。它会通过在过程中间输入“y”一两次来要求您确认,因此请注意这一点。

colab-buildozer-ss6.png

完成所有处理后,您会看到左侧出现了一个名为bin的新文件夹。在bin里面你会找到一个.apk文件,把它传到你的手机里。安装它,测试它,希望它不会崩溃。

Logo

学AI,认准AI Studio!GPU算力,限时免费领,邀请好友解锁更多惊喜福利 >>>

更多推荐