1

我在用 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    

有人可以给我一个建议吗?

4

2 回答 2

1

当然,构建器规范应该是

# (str) Source code where the main.py live
source.dir = .
于 2015-10-25T06:45:13.673 回答
0

即使第一个被接受,我也会发布另一个答案,因为我相信可能会有其他人在谷歌上遇到这个问题,需要不同的解决方案。

我在运行我的 kivy 应用程序时遇到了同样的问题。原来我的一个模块中有一个语法错误,阻止了 main.py 的编译。buildozer 确实为此显示了一个错误,但是使用 log_level=2 的所有输出很容易错过。通过运行 python 并导入 main.app 检查代码中的语法错误。

另一个问题可能是使用了多处理模块,它在 android 上不起作用。

于 2016-07-25T18:36:57.047 回答