我在Kivy上用Android测试我的第一个应用程序
我已经按照教程here
进行了操作我已将应用程序复制到我的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
有人可以给我一个建议吗?
答案 0 :(得分:1)
当然,buildozer规范应该是
# (str) Source code where the main.py live
source.dir = .
答案 1 :(得分:0)
我发布了另一个答案,即使第一个被接受,因为我相信可能有其他人在谷歌需要一个不同的解决方案。
我在运行我的kivy应用时遇到了同样的问题。事实证明我的一个模块中存在语法错误,导致无法编译main.py. buildozer确实显示了这个错误,但是使用log_level = 2的所有输出都很容易错过。通过运行python并导入main.app来检查代码是否存在语法错误。
另一个问题可能是使用多处理模块,这在android上不起作用。