Python 问题,智能手机上的 kivy 应用程序

Posted

技术标签:

【中文标题】Python 问题,智能手机上的 kivy 应用程序【英文标题】:Problem with Python, kivy application on smartphone 【发布时间】:2021-12-09 17:34:25 【问题描述】:

我用 python 和 kivymd 编写了一个简单的应用程序,它可以在 PC 上运行,但不能在智能手机上运行。要将代码转换为 apk 文件,我在 google colab 中使用了 buildozer。 Buildozer 规范文件和代码对我来说看起来不错,所以它应该可以在手机上运行。我尝试通过 ADB 检查 logcat,但我不知道要查找什么我的应用程序中有很多信息、调试信息和警告,但我不知道其中哪些重要,哪些正常。

File "/content/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/Calculator/kivymd/uix/behaviors/elevation.py", line 364, in <module>
26860  7420 I python: ModuleNotFoundError: No module named 'PIL'
26860  7420 I python: Python for android ended.
647    647  I io_stats: !@   8,0 r 50398943 1331874748 w 21301992 207147416 d 6584221 396580196 f 0 0 iot 34055544 0 th 0 0 0 pt 0 inp 0 0 488813.237
1348   1578 W InputDispatcher: channel '84af54b org.honi.calculator/org.kivy.android.PythonActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x9, fd=1119
1348   1578 E InputDispatcher: channel '84af54b org.honi.calculator/org.kivy.android.PythonActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
1348   4563 D InputTransport: Input channel destroyed: 'ClientS', fd=1114
1348   1831 I ActivityManager: Process org.honi.calculator (pid 26860) has died: fg  TOP (186,1799)
943    991  I SurfaceFlinger: id=110000 Removed Bounds for - org.honi.calculator/org.kivy.android.PythonActivity@0#0 (161)
943    991  I SurfaceFlinger: id=110001 Removed SurfaceView - org.honi.calculator/org.kivy.android.PythonActivity@d69d998@0#0 (161)
943    990  I SurfaceFlinger: id=110002 Removed Background for -SurfaceView - org.honi.calculator/org.kivy.android.PythonActivity@d69d998@0#0 (161)
834    834  I Zygote  : Process 26860 exited cleanly (255)
853    853  I Sensors : batch(0) - accelerometer_sensor try to batching with 100000000
1348   2293 I WindowManager: WIN DEATH: Window84af54b u0 org.honi.calculator/org.kivy.android.PythonActivity
1348   2293 W InputDispatcher: Attempted to unregister already unregistered input channel '84af54b org.honi.calculator/org.kivy.android.PythonActivity (server)'

我认为问题一定表现在logcat的这一部分。 有人知道如何解决这个问题吗?

【问题讨论】:

【参考方案1】:

你应该看起来只以python开头

像这样:

26860  7420 I python: ModuleNotFoundError: No module named 'PIL'
26860  7420 I python: Python for android ended.

因为它们是来自 Kivy 应用程序的日志。

但无论如何,您应该检查 buildozer.spec 文件的日志级别。

【讨论】:

以上是关于Python 问题,智能手机上的 kivy 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

Python/Kivy/Buildozer - 应用程序在 Android 中崩溃,但在 PC 上运行良好

Python/Kivy 应用程序到 Windows 上的 apk - 安装虚拟机后该怎么办?

如何使用 kivy-buildozer 为我的 android 应用程序添加图标?

如何停止通过 buildozer 制作的 android 上的 kivy 应用程序崩溃。这些在计算机上运行良好

Kivy 创建桌面程序?

Windows 7 上的 Kivy 开发环境