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,kivy
写requirements=python3,kivy==2.0.0
。这将确保安装了 v2.0.0。此外,在指定此选项后,您可能必须通过删除 运行 buildozer 所在目录中存在的 .buildozer
目录来重建您的应用程序。需要注意的一件事是它 .buildozer
不仅仅是 buildozer
并且会出现在您初始化 buildozer 的目录中,即 buildozer.spec
文件所在的目录中。您可以在该目录中键入 rm -rf .buildozer
将其删除。之后,您必须使用 buildozer android debug deploy run
重建您的 apk
我正在使用 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,kivy
写requirements=python3,kivy==2.0.0
。这将确保安装了 v2.0.0。此外,在指定此选项后,您可能必须通过删除 运行 buildozer 所在目录中存在的 .buildozer
目录来重建您的应用程序。需要注意的一件事是它 .buildozer
不仅仅是 buildozer
并且会出现在您初始化 buildozer 的目录中,即 buildozer.spec
文件所在的目录中。您可以在该目录中键入 rm -rf .buildozer
将其删除。之后,您必须使用 buildozer android debug deploy run