【发布时间】:2019-02-06 01:28:32
【问题描述】:
我从 Kivy/Buildozer VM 构建了一个 APK,并使用了一个非常简单的程序来测试它。
这里是 Python 文件:
import kivy
kivy.require('1.9.0')
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.popup import Popup
class MyPopup(Popup):
pass
class Test(Widget):
pass
class KivyTestApp(App):
def build(self):
return Test()
app = KivyTestApp()
app.run()
和 Kivy 文件:
#: import Factory kivy.factory.Factory
<MyPopup>:
title: 'Test'
size_hint: None, None
size: 400, 400
<Test>:
Button:
id: but
size: root.width, root.height
background_normal: ''
background_color: .5, .7, .9, 1
text: 'Press me to open the popup'
pos: 0, 0
on_press: Factory.MyPopup().open()
当我运行这段代码的 APK 时,我只是得到一个黑屏。注意:我没有在 Kivy Launcher 中运行它。这是一个从 buildozer 成功构建的 APK。
【问题讨论】:
-
你的 kv 文件的名称是什么?如果由于某种原因它不是“KivyTest.kv”,它将显示黑屏而不是您的界面。它可能只是显示您的
Test(Widget)类,其中没有任何内容,因此是一个空白屏幕。可以通过Test(Label)并将文本设置为“Hello World”之类的内容来检查这一点 -
我的 kv 文件名为
KivyTest.kv,它在我的电脑上运行得非常好,只是当它完全编译成 APK 时就不行了 -
嗯。如果没有发生任何崩溃,我觉得 kv 文件由于某种原因没有正确加载。您可以尝试我的建议,将您的
Test类更改为标签或其他东西(在 .py 端,而不是 .kv 端)并查看其文本是否显示? -
抱歉,由于某种原因,我的 buildozer 现在无法工作 :( 我试图构建它,但它没有构建
-
我能够使用您的代码成功执行“buildozer android debug deploy run logcat”。也许发布您的
buildozer.spec文件。