Buildozer 在打包 Android 时未使用正确的 kivy 版本

Lou*_*rge 1 kivy buildozer python-for-android

我在打包适用于 Android 的 Kivy 应用程序时遇到了一些问题,这些问题可能相关,也可能不相关:

  • 除了 Kivy 之外,我的应用程序导入的唯一包是时间和数学模块。当我将其中一个或两个添加到 buildozer 规范文件的要求中时,我收到“pip._internal.exceptions.DistributionNotFound:没有匹配的时间分布”。错误。当我不将它们包含在我的要求中时,构建会成功,但在打开时崩溃并出现错误:
  • “例外:此系统上安装的 Kivy 版本太旧。(您有 1.11.1,但应用程序需要 2.0.0)”

我正在 Ubuntu 上的 VirutalBox 中进行安装,并遵循 Kivy 和 Buildozer 文档中概述的安装过程,以及 YouTube 上 Eric Sandberg 的教程。我已在 buildozer 规范文件中设置了 Kivy 版本,并使用 pip 在 VM 上安装了 Kivy 2.0.0。当我 pip freeze 时,它​​会显示 Kivy 的正确版本。我注意到的一件事是,当我尝试使用“apt-get install python3-kivy”安装它时,它说 kivy 1.10 已安装,并且这是最新版本。

这似乎是一个很容易解决的问题,但我无法弄清楚为什么它试图使用这个版本的 Kivy!如果调试需要任何其他信息,请告诉我。规范文件几乎没有改变,只是在需求中指定 Kivy=2.0.0 。

这是日志: 错误日志

以下是要求: 要求

Ank*_*wan 5

  1. 您不必在 buildozer.spec 文件的要求中添加数学和时间,因为它们是 python 中的内置模块。因此,当您在需求中添加 python3 时,它们将自动添加。
  2. 要使用较新版本的 kivy,您必须在您的需求中指定它。在需求中,您必须添加类似的版本requirements=python3,kivy==2.0.0rc4或您想要使用的任何其他版本。此外,更改需求后,您可能必须重建包。您必须删除.buildozer目录并再次运行 buildozer 使用buildozer android debug deploy run