python - EGLlib: validate_display: 92 error 3008 (EGL_BAD_DISPLAY) : 应用程序立即崩溃 (kivymd) (Buildozer)
问题描述
Kivymd 应用程序在加载屏幕后崩溃。在 macOS 和 ubuntu-server 上通过 Buildozer 构建的应用程序,但没有运气。应用程序在 PyCharm IDE 上运行良好。这是我的 main.py 文件:
```
from kivy.lang import Builder
from kivymd.app import MDApp
ScreenHelper = """
Screen:
NavigationLayout:
ScreenManager:
id: screen_manager
Screen:
name: "homepage"
BoxLayout:
orientation : 'vertical'
MDToolbar:
title: 'vPark'
elevation: 10
left_action_items:[["menu",lambda x: root.ids.nav_drawer.toggle_nav_drawer()]]
right_action_items:[["face",lambda x: app.AccountPage()]]
MDLabel:
text: 'Homepage'
halign: 'center'
Screen:
name: "account-page"
BoxLayout:
orientation : 'vertical'
MDToolbar:
title: 'My Account'
elevation: 10
left_action_items:[["home",lambda x: app.HomePage()]]
MDLabel:
text: 'Account Page'
halign: 'center'
Screen:
name: "settings-page"
BoxLayout:
orientation : 'vertical'
MDToolbar:
title: 'Settings'
elevation: 10
left_action_items:[["home",lambda x: app.HomePage()]]
MDLabel:
text: 'Settings Page'
halign: 'center'
Screen:
name: "recents-page"
BoxLayout:
orientation : 'vertical'
MDToolbar:
title: 'Recent Searches'
elevation: 10
left_action_items:[["home",lambda x: app.HomePage()]]
MDLabel:
text: 'Recent Searches'
halign: 'center'
Screen:
name: "help-page"
BoxLayout:
orientation : 'vertical'
MDToolbar:
title: 'Help Center'
elevation: 10
left_action_items:[["home",lambda x: app.HomePage()]]
MDLabel:
text: 'Help Centre'
halign: 'center'
MDNavigationDrawer:
id: nav_drawer
BoxLayout:
orientation:'vertical'
Image:
source: 'logo-temp.png'
ScrollView:
MDList:
OneLineListItem:
text: 'Home'
on_release:
root.ids.nav_drawer.set_state("close")
root.ids.screen_manager.current = "homepage"
OneLineListItem:
text: 'Recent Vehicle Searches'
on_release:
root.ids.nav_drawer.set_state("close")
root.ids.screen_manager.current = 'recents-page'
OneLineListItem:
text: 'Settings'
on_release:
root.ids.nav_drawer.set_state("close")
root.ids.screen_manager.current = 'settings-page'
OneLineListItem:
text: 'Help Center'
on_release:
root.ids.nav_drawer.set_state("close")
root.ids.screen_manager.current = 'help-page'
"""
class vParkApp(MDApp):
def build(self):
screen = Builder.load_string(ScreenHelper)
return screen
def AccountPage(self):
self.root.ids.screen_manager.current = 'account-page'
def HomePage(self):
self.root.ids.screen_manager.current = 'homepage'
vParkApp().run()
```
应用程序构建没有错误,但在手机上安装 apk 后(我也尝试了很多不同的应用程序和模拟器)应用程序在加载屏幕后崩溃,logcat 显示错误:EGLlib: validate_display: 92 error 3008 (EGL_BAD_DISPLAY)
这是 buildozer.spec 文件的链接: https ://drive.google.com/file/d/1gl9hU4FhJatzSlsXW5r_uOxTV0ZisXnI/view?usp=sharing
解决方案
推荐阅读
- c - 测试所有数组元素是否为零的快速方法
- python-3.x - 从节点 red mqtt 节点到 python3 客户端的 Traduce
- string - 删除谷歌应用程序脚本中字符串中的尾随空格
- regex - 正则表达式替换为结尾和开头没有空格的字符串
- c# - 如何从 Excel / C# 获取宏数据?
- azure-devops - Azure Devops 构建完成通知未触发
- python - 如何在熊猫数据框中附加具有默认值的额外列?
- java - 在 JPanels 限制内移动 JLabel(认为这是一个数学问题)JAVA
- python - Jupyter Notebook 导出到带有居中元素的 HTML
- java - 在 Docker 中运行启动脚本