为android编译Python模块

2024-05-13 17:12:40 发布

您现在位置:Python中文网/ 问答频道 /正文

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

from freeswitchESL import ESL

一切都可以编译,但应用程序一运行就会崩溃。查看设备返回的logcat,似乎在查找模块的内部名称时遇到问题:

^{pr2}$

我想不出怎么纠正这个问题。我试过这种事buildozer.spec公司名称:

source.include_patterns = freeswitchESL/*

但没用。谁能告诉我我做错了什么吗?这是我第一次尝试为移动设备进行编译,这绝对不像我希望的那么简单;)


Tags: 模块代码fromimport名称应用程序androidspec
2条回答

“要求”部分buildozer.spec就是你要找的。在

将其他文件放在一个文件夹中并在那里放一个__init__.py可以完成诡计。检查此应用程序提供线索https://github.com/tito/android-demo 但是,如果应用程序是第三方的,而你没有这些.py文件 也许你得想想不同的。为了支持示例numpy,因此如果使用 在需求中,我们需要在下面的方式中添加numpybuildozer.spec在

requirements = kivy,numpy

但是如果你使用pandas,scipy或scikit会发现它们不受支持,因此不能像那个。安另一种方法是用numpy或纯python实现该函数,或者创建一个配方。在

相关问题 更多 >