Python Kivy Zbarcam 编译 Buildozer for Android 崩溃

Python Kivy Zbarcam compiled with Buildozer for Android crash

提问人:Sean Aldous 提问时间:11/16/2023 更新时间:11/16/2023 访问量:21

问:

我正在使用 Kivy 和 Zbarcam 开发一个适用于 Android 的应用程序。我可以在我的电脑上运行它,包装得很好,但是当我把它放在手机上时,它会立即崩溃。我已经把它剥离到最低限度,所以我知道它是 Zbarcam。任何建议将不胜感激。这是我的python文件:

from kivy.app import App
from kivy.lang import Builder
from pythonforandroid.recipes.android.src.android.permissions import request_permissions, Permission
import time

request_permissions([
            Permission.CAMERA,
            Permission.WRITE_EXTERNAL_STORAGE,
            Permission.READ_EXTERNAL_STORAGE
        ])

demo = """
#:import ZBarCam kivy_garden.zbarcam.ZBarCam
BoxLayout:
    orientation: 'vertical'
    ZBarCam:
        id: zbarcam
        # optional, by default checks all types
        code_types: 'QRCODE', 'EAN13'
    Label:
        size_hint: None, None
        size: self.texture_size[0], 50
        text: ', '.join([str(symbol.data) for symbol in zbarcam.symbols])
"""


class DemoApp(App):

    def build(self):
        return Builder.load_string(demo)

if __name__ == '__main__':
    DemoApp().run()

我尝试将请求权限部分放在构建声明中,但我得到了相同的结果。

蟒蛇 android kivy buildozer

评论

0赞 julaine 11/16/2023
请更准确地说明“崩溃”的含义。您是否收到堆栈跟踪或至少错误消息?
0赞 Sean Aldous 11/16/2023
我的手机上什么也没收到。加载屏幕弹出,然后消失。我已经记录了错误报告,但我正在努力在其中找到任何有用的东西。它似乎在获得相机和存储权限时遇到了问题,但无论我将android权限贴在哪里,它都不会要求它们。命令“lshal --all --types=all”失败:退出代码 136 [email protected]::ICameraService/default 不存在,或者没有连接权限。命令“lshal debug -E android.frameworks.cameraservic[email protected]::ICameraService/default”失败:退出代码 128
0赞 julaine 11/17/2023
不幸的是,我根本无法帮助您解决这个问题。但是,如果您认为这与权限有关,则应将其编辑到问题标题中,并可能编辑到标签中,以引起了解此事的人的注意。如果这没有帮助,请尝试专门询问有关错误的新问题(大多数 android 开发都是在 Kotlin/java 中完成的,错误似乎来自此)或在 kivy-github 上提出问题。

答: 暂无答案