【问题标题】:Kivy APK Does Not Run on Android PhoneKivy APK 无法在 Android 手机上运行
【发布时间】: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 文件。

标签: android kivy apk


【解决方案1】:

由于您的kv 文件被命名为KivyTest.kv,您的应用将不会加载您的kv 文件,并且该应用将只是一个空白屏幕。您必须将文件名更改为kivytest.kv。请参阅documentation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-16
    • 1970-01-01
    • 2021-07-10
    • 1970-01-01
    • 2022-01-24
    • 2023-04-02
    • 1970-01-01
    • 2020-03-29
    相关资源
    最近更新 更多