我的 buildozer.spec 文件如下所示。
requirements = python3, mysql-connector-python, plyer, android, futures, datetime,kivy, kivymd
我想使用 kivymd 的开发版本,所以我将其更改为如下所示:
requirements = python3, mysql-connector-python, plyer, android, futures, datetime, https://github.com/kivymd/KivyMD/archive/master.zip
但它似乎不起作用。立刻就崩溃了。
我也尝试过这个:
requirements = python3, mysql-connector-python, plyer, android, futures, datetime, kivy, https://github.com/kivymd/KivyMD/archive/master.zip
但我得到了相同的结果。
更改需求的正确方法是什么?
或者也许我可以在本地下载并添加它?
编辑:
我意识到我可以使用选项
requirements.source
所以我这样做了:
requirements = python3, mysql-connector-python, plyer, android, futures, datetime, kivy, kivymd
# (str) Custom source folders for requirements
# Sets custom source for any requirements with recipes
requirements.source.kivymd = /home/sylwek/buildozer_Test1/KivyMD-master
但是还是不行...
我已经解决了这个问题。我使用此配置调试了测试应用程序:
requirements = python3,kivy==2.0.0rc4,kivymd, pillow
并在调试后(我已经测试过它是否有效)。/Documents/my_project/.buildozer/android/platform/build-armeabi-v7a/dists/myapp__armeabi-v7a/_python_bundle/_python_bundle/site-packages/kivymd
包含我想要的版本的文件。再次调试,用简单的脚本测试一下:
from kivymd.app import MDApp
from kivymd.uix.label import MDLabel
import kivymd
class MainApp(MDApp):
def build(self):
return MDLabel(text=f"kivymd version: {kivymd.__version__}", halign="center")
MainApp().run()
令人惊讶的是它有效......
我知道这不是最好的解决方案,但它有效;)。
如上所述那里,您可以在buildozer.spec需求中使用git url,就像这样:
requirements = python3, git+https://github.com/kivymd/KivyMD.git, Kivy