为android

时间:2016-05-18 14:17:21

标签: android python kivy buildozer

我有一个Python / Kivy应用程序我尝试使用Buildozer为Android编译。它使用第三方模块(freeswitchESL),该模块在代码中导入:

from freeswitchESL import ESL

所有内容都可以正常编译,但应用程序一运行就会崩溃。通过查看设备返回的logcat,似乎遇到了查找模块内部名称的问题:

I/python  (11682):  ImportError: No module named _ESL

我无法弄清楚如何纠正这个问题。我在buildozer.spec中试过这种事情:

source.include_patterns = freeswitchESL/*

但无济于事。谁能告诉我我做错了什么?这是我第一次尝试为移动设备进行编译,而且它绝对不像我希望的那样简单;)

2 个答案:

答案 0 :(得分:0)

buildozer.spec中的“requirements”部分正是您所需要的。

答案 1 :(得分:0)

将其他文件放在一个文件夹中并放置#contato input, textarea{ background-color: #333333; border: none; color: #FFFFFF; } 可以解决这个问题。请查看此应用以获取线索https://github.com/tito/android-demo 但是,如果该应用程序是第三方,并且您没有.py文件 可能你有不同的想法。例如,如果使用numpy支持 在需求中,我们需要在buildozer.spec中以下列方式添加numpy

__init__.py

但是如果你使用pandas,scipy或scikit-learn那些不受支持,因此不能像这样添加。另一种方法是在numpy或纯python中实现该功能,或者创建一个配方。