python - 创建一个用于 Android 的 Python 库

标签 python android kivy cross-compiling libraries

我的Kivy应用程序使用Python库文件。在 Windows 上,我创建的 .pyd 文件可以正常工作,但我显然无法在 Android 上使用相同的库文件 ( because a .pyd file is essentially a .dll )

是否可以将我的 python 代码“交叉编译”到 Windows/Linux 上的 Arm-Android 的 .so 库中?

我偶然发现了这个 Github 存储库:Virtual Environments for Cross-Compiling Python Extension Modules我是否需要它来编译适用于 Android 的 Python 还是有其他方法?

编辑: 为了更具体地说明我的问题,我最初想在 python 应用程序中包含一个 c++ 库。可以使用 swig 自动执行此操作和 distutils ,它从 C++ 代码生成一个 .pyd python 库。如上所述,到目前为止仅适用于 Windows。 @S 推荐 Chaquopy,它似乎可以部分工作:它适用于在 android 上使用 python,但我不确定它是否可以与 c++ 和 swig 结合使用。为了不进一步偏离这个问题,I have created a new question which focusses on the c++-aspect.

最佳答案

您可以使用 Android Studio 的 Chaquopy 插件。 Chaquopy允许您在Android上运行Python代码,并且它支持将Python native 扩展编译为Android ARM的.so文件

将 Python 代码和所有依赖项放置在 src/main/python 目录中

Chaquopy 官方文档:https://chaquo.com/chaquopy/doc/current/

关于python - 创建一个用于 Android 的 Python 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76072712/

相关文章:

python - Kivy 从代码中选择 ListView 中的一个项目

python - Kivy Ios ./toolchain.py 构建 kivy 不工作

python - NetworkX 中的非标准化中心性分数

python - 删除具有特殊字符 "\"和 "/"的单词

python - 可以在python中使用循环来选择kivy id吗?

android:orientation ="vertical"不适用于 TabWidget

android - ionic 运行android不在设备上运行应用程序

python - 如何在 scikit-learn 中有效地编码数字目标变量?

python - 计算列表平均值并返回大于整个列表数学平均值的元素的函数

Android 图像按钮 : image with tranparent background