首页 文章

buildozer kivy app不会在外部kv文件的android上运行

提问于
浏览
0

我是python / kivy编码的新手 . 我有一个问题,通过kivy buildozer构建一个Android应用程序 .

首先,如果我构建应用程序并使用像这样的kivy例如:

self.asdbut = Button(text="xxxxxx", font_size="70sp")
self.asdbut.bind(on_press=self.aaaaa)
self.add_widget(self.asdbut)

它适用于PC和Android手机 .

但如果我使用kivy builder为外部或内部脚本kv语言,应用程序在PC上运行,但不在Android中运行 . 所以我想我必须以某种方式通过buildozer init文件将kivy.lang.builder添加到apk . 我怎么能做到这一点?

附:我在buildozer规范中发现了一行说:

# (list) Application requirements
requirements = kivy

所以我试图包括那里的建设者,但它没有奏效 .

1 回答

  • 1

    Builder是类,而不是包 . 要加载任何一个名称,就像你的 App 类( class My(App): - > my.kv ),或者用这种方式加载Builder:

    Builder.load_string('''
    <My>:
        property: value
    ''')
    

    要么

    Builder.load_file(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'my.kv'))
    

相关问题