0

我的 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

但它仍然不起作用......

4

1 回答 1

0

我已经解决了这个问题。我使用此配置调试了测试应用程序:
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()

令人惊讶的是它有效......
我知道这不是最好的解决方案,但它有效;)。

于 2021-04-29T16:43:49.763 回答