我的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/