问题描述
我正在用Kivy在Android上测试我的第一个应用程序
我在遵循了教程
我已经将应用复制到了我的android设备上,但是当我运行它时,它就停止了
我用过:
buildozer android logcat
和相关的输出行似乎是:
I/python (32075): ['/data/data/org.test.bfgapp/files/lib/python2.7/site-packages', '/data/data/org.test.bfgapp/files/lib/site-python']
I/python (32075): Android path ['/data/data/org.test.bfgapp/files/lib/python27.zip', '/data/data/org.test.bfgapp/files/lib/python2.7', '/data/data/org.test.bfgapp/files/lib/python2.7/lib-dynload', '/data/data/org.test.bfgapp/files/lib/python2.7/site-packages', '/data/data/org.test.bfgapp/files', '/data/data/org.test.bfgapp/files/_applibs']
I/python (32075): Android kivy bootstrap done. __name__ is __main__
I/python (32075): Run user program, change dir and execute main.py
I/python (32075): No main.pyo / main.py found.
I/AndroidRuntime(32075): VM exiting with result code 0, cleanup skipped.
I/SurfaceFlinger( 1948): id=1057 Removed TurfaceView (2/5)
I/ActivityManager( 2426): Process org.test.bfgapp:python (pid 32075) (adj 0) has died.
W/ActivityManager( 2426): Force removing ActivityRecord{44d8df18 u0 org.test.bfgapp/org.renpy.android.PythonActivity}: app died, no saved state
我在Google上搜索过:没有找到main.pyo / main.py
但是它只说我的main.py丢失了。 这不是很有帮助,因为我将我的(仅)文件称为main.py,并且在buildozer.spec中引用了该文件
# (str) Source code where the main.py live
source.dir = /home/jeff/Kivy/Label/main.py
有人可以给我一个建议吗?
1楼
当然,buildozer规范应阅读
# (str) Source code where the main.py live
source.dir = .
2楼
我发布了另一个答案,尽管第一个答案已被接受,因为我认为可能还有其他答案需要在谷歌上寻求其他解决方案。
我在运行kivy应用程序时遇到了相同的问题。 原来,我的一个模块出现语法错误,阻止了main.py的编译。 buildozer确实显示了一个错误,但是使用log_level = 2的所有输出很容易遗漏。 通过运行python并导入main.app,检查代码中的语法错误。
另一个问题可能是使用了multiprocessing模块,该模块在android上不起作用。