我的 Kivy 应用程序使用 python 库文件。在 Windows 上,我创建的 .pyd 文件没有任何问题,但我显然不能在 Android 上使用相同的库文件(因为 .pyd 文件本质上是一个 .dll)
是否可以将我的 python 代码“交叉编译”为 Windows/Linux 上的 Arm-Android 的 .so 库?
我偶然发现了这个 Github 存储库:交叉编译 Python 扩展模块的虚拟环境我需要那个来为 Android 编译 Python 还是有不同的方法?
编辑: 为了更详细地说明我的问题,我最初想在 python 应用程序中包含一个 c++ 库。可以使用 swig 和 distutils 自动执行此操作,这会从 C++ 代码中生成一个 .pyd python 库。如上所述,到目前为止只适用于 Windows。 @S 推荐 Chaquopy,它似乎部分起作用:它适用于在 android 上使用 python,但我不确定它是否与 c++ 和 swig 结合使用。为了不进一步破坏这个问题,我创建了一个新问题,重点关注 c++ 方面。
你可以使用 Android Studio 的 Chaquopy 插件。 Chaquopy 允许您在 Android 上运行 Python 代码,它支持将 Python 原生扩展编译为 Android ARM 的 .so 文件
将您的 Python 代码和任何依赖项放在 src/main/python 目录中
Chaquopy 官方文档:https://chaquo.com/chaquopy/doc/current/