Skip to main content

适用于 Python 脚本和应用程序的 Android APK 打包程序

项目描述

python-for-android

单元测试和构建应用程序 覆盖状态 开放集体的支持者 开放集体的赞助商

python-for-android 是 Android 上 Python 应用的打包工具。您可以创建自己的 Python 发行版,包括所需的模块和依赖项,并将其与您自己的代码一起捆绑在 APK 或 AAB 中。

特点包括:

  • 不同的应用后端,包括 Kivy、PySDL2 和带有 Python 网络服务器的 WebView。
  • 自动支持大多数纯 Python 模块,并内置支持许多其他模块,包括流行的依赖项,如 numpy 和 sqlalchemy。
  • 多个架构目标,适用于在任何给定设备上优化的 APK。
  • AAB:Android App Bundle 支持。

有关文档和支持,请参阅:

文档

按照快速入门说明 安装并开始创建 APK 和 AAB。

快速说明:使用以下命令安装 python-for-android:

pip install python-for-android

(对于开发分支pip install git+https://github.com/kivy/python-for-android.git:)

测试安装是否适用:

p4a --version

要构建任何实际应用,请 按照快速入门中的说明设置 Android SDK 和 NDK使用快速入门中的 SDK/NDK API 级别和 NDK 版本, 其他 API 级别可能无法使用。

安装好所有东西后,使用 SDL2 构建一个 APK,例如:

p4a apk --requirements=kivy --private /home/username/devel/planewave_frozen/ --package=net.inclem.planewavessdl2 --name="planewavessdl2" --version=0.5 --bootstrap=sdl2

如果您需要在 Google Play 上部署您的应用,自 2021 年 8 月 1 日起需要 Android App Bundle (aab):

有关完整说明和参数选项,请参阅文档

支持

如果您需要帮助,可以通过我们的邮件列表寻求帮助:

我们还有#support Discord 频道

贡献

我们喜欢拉请求和讨论新颖的想法。查看 Kivy 项目贡献指南并随时改进 python-for-android。

有关 python-for-android 开发和发布模型的更多信息,请参阅我们的文档 ,但不要担心细节。您只需要提出拉取请求,剩下的交给我们。

以下邮件列表和 IRC 频道专门用于讨论开发 Kivy 框架及其姊妹项目:

我们还有#dev Discord 频道

执照

python-for-android 是根据 MIT 许可证的条款发布的。请参阅许可证文件。

历史

2015 年,这些工具被重写,以提供一个新的、更易于使用和更易于扩展的界面。如果你想浏览旧的工具链,它的状态记录在 https://github.com/kivy/python-for-android/tree/old_toolchain以供后代使用。

在 2018 年最后一个季度,python 配方发生了变化。python3 的新配方(3.7.1)有一个新的构建系统,它应用于古老的 python 配方,允许我们将 python2 版本号提升到 2.7.15。此更改统一了两个 python 配方的构建过程,并且可能解决了多年来检测到的各种问题。这些统一的 python 配方要求最低目标 api 级别为 21Android 5.0-Lollipop。如果您需要构建目标 api 级别低于 21,您应该使用旧版本的 python-for-android (<=0.7.1)。

2020 年 3 月,我们不再支持创建使用 Python 2 的应用程序。支持构建 Python 2 的最新 python-for-android 版本是 2019.10.6 版。

2021 年 8 月,我们增加了对 Android App Bundle (aab) 的支持。作为抵押品,现在我们支持多架构 apk。

贡献者

这个项目的存在要感谢所有做出贡献的人。[贡献]。

支持者

感谢我们所有的支持者!