kivymd app crashes on android phone ModuleNotFoundError: No module named 'PIL'

kivymd app crashes on android phone ModuleNotFoundError: No module named 'PIL'

我的 Kivy 应用程序在 android phone 启动时崩溃。 buildozer logcat 显示以下错误:

02-21 17:09:58.777 14941 14979 I python  :  ModuleNotFoundError: No module named 'PIL'
02-21 17:09:58.777 14941 14979 I python  : Python for android ended.

这是我的 buildozer.spec 要求:

requirements = python3,kivy==2.0.0,git+https://github.com/HeaTTheatR/KivyMD.git,sdl2_ttf==2.0.15,python-dateutil,requests,urllib3,chardet,idna,plyer,android,jnius,oscpy

据我了解,只有KivyMD依赖于PIL。 该应用程序在我的 mac 上运行良好,并且之前在 android phone 上运行良好。错误刚刚开始发生。所以,我真的很困惑,希望得到任何帮助。 提前致谢!

您可能已经知道,KivyMD 依赖于 PIL,而不是 Kivy。您正在使用最新版本的 KivyMD 在您的应用程序中使用 git,这取决于 PIL。要删除错误,只需在 buildozer.spec 文件的 requirements 中添加 pillow

如果在按照正确答案后仍然没有得到想要的结果,请参考 buildozer.spec 文件中为存储库中的 KivyMD-kitchen_sink 应用程序指定的要求。

这是 link -> Kitchen_Sink_Repo

提示

如果在更改 requirements 后您的应用仍然崩溃,运行 以下命令

buildozer android clean
buildozer android debug deploy run

为什么?

因为当 buildozer 安装之前指定的要求时,它很可能会安装与您的应用规范不匹配的版本。所以清理它然后 运行.

你现在应该可以开始了。