Kivy buildozer 在为 android 打包时使用了错误版本的 Kivy 和 KivyMD

Kivy buildozer using wrong version of Kivy and KivyMD when packaging for android

我正在使用 VirtualBox Ubuntu 20.04.1 并安装了 kivymd 版本 0.104.2dev0 和 kivy 版本 2.0.0。然而,当我 运行 我的 phone 上的应用程序与 buildozer android logcat 一起时,它说 kivy 版本是 v1.11.1 和 kivymd 版本 v0.104.1。我认为这就是导致我的应用程序出错的原因(因此不会 运行)。

我已经尝试将特定版本放入 buildozer.spec 文件中,但仍然无效。任何建议都会很棒! (如果你需要完整的日志我可以提供)

不管kivy是什么版本,kivymd安装在你的系统上。与应用程序一起打包的版本在打包时下载,并下载 buildozer.spec 文件中指定的版本。所以你要做的就是在你的buildozer.spec文件的要求中而不是写requirements=python3,kivyrequirements=python3,kivy==2.0.0。这将确保安装了 v2.0.0。此外,在指定此选项后,您可能必须通过删除 运行 buildozer 所在目录中存在的 .buildozer 目录来重建您的应用程序。需要注意的一件事是它 .buildozer 不仅仅是 buildozer 并且会出现在您初始化 buildozer 的目录中,即 buildozer.spec 文件所在的目录中。您可以在该目录中键入 rm -rf .buildozer 将其删除。之后,您必须使用 buildozer android debug deploy run

重建您的 apk