为Android创建一个包。¶
您可以使用 python-for-android 项目为 Android 创建包。此页面说明了如何直接在自己的机器上下载并使用它(参见 将您的应用程序打包为 APK 或 AAB),或者使用 Buildozer 工具来自动化整个流程。您还可以参阅 为 Kivy Launcher 打包您的应用程序,以在不编译的情况下运行 Kivy 程序。
对于新用户,我们推荐使用 Buildozer 作为制作完整 APK 或 AAB 的最简便方式。您也可以通过 Kivy Launcher 应用,无需编译步骤即可运行您的 Kivy 应用。
Kivy 应用可以通过 :ref:`发布到 Android 市场 <release_on_the_market>`(如 Play 商店)进行发布,只需额外几步即可创建完全签名的 AAB(Android App Bundle)。
Kivy 项目包含用于访问 Android API 的工具,以实现振动、传感器访问、短信等功能。这些工具以及设备上调试的相关信息,在 Android 主页面 中有文档说明。
Buildozer¶
Buildozer 是一个自动化整个构建过程的工具。它会下载并配置 python-for-android 所需的全部前置条件,包括 Android SDK 和 NDK,然后构建一个可自动推送到设备上的 APK。
Buildozer 目前仅支持 Linux 和 macOS 系统(在 Windows 上可通过 WSL 使用),它能显著简化 APK 的构建过程。
请在此处查看安装说明:https://buildozer.readthedocs.io/en/latest/installation/
包括“针对Android平台”部分。
之后,进入你的项目目录并运行:
buildozer init
这会生成一个 buildozer.spec 文件,用于控制你的构建配置。你应该根据你的应用名称等信息适当编辑该文件。你可以设置变量来控制传递给 python-for-android 的大部分或全部参数。
最后,插入你的安卓设备并运行:
buildozer android debug deploy run
构建、推送并自动在您的设备上运行APK。
Buildozer 提供了许多可用的选项和工具来帮助您,上述步骤只是构建和运行 APK 的最简单方式。完整文档可在 此处 查看。您也可以查阅 Buildozer 的 README,位于 https://github.com/kivy/buildozer。
使用python-for-android进行打包¶
你也可以直接使用python-for-android进行打包,这样可以获得更多控制权,但需要手动下载Android工具链的部分组件。
请参阅 python-for-android 文档 以获取完整详情。
为Kivy Launcher打包你的应用程序¶
Kivy 启动器是一款 Android 应用程序,可运行存储在 SD 卡上的任何 Kivy 示例。要安装 Kivy 启动器,您必须:
前往 Google Play 商店,搜索来自 kivy org 的 Kivy Launcher。
点击“安装”。
选择你的手机……然后你就完成了!
如果你无法在手机/平板电脑上访问Google Play商店,你可以从https://github.com/kivy/kivy-launcher/releases手动下载并安装APK。
一旦安装了Kivy启动器,您可以将Kivy应用程序放置在外部存储目录中的Kivy文件夹内(通常可通过 /sdcard 访问,即使在内存为内置的设备上也是如此),例如:
/sdcard/kivy/<yourapplication>
<yourapplication> 应该是一个包含以下内容的目录:
# Your main application file:
main.py
# Some info Kivy requires about your app on android:
android.txt
文件 android.txt 必须包含:
title=<Application Title>
author=<Your Name>
orientation=<portrait|landscape>
这些选项只是非常基础的配置。如果您使用上述工具创建自己的APK,您可以选择许多其他设置。
示例的安装¶
Kivy 自带许多示例,这些示例是开始尝试 Kivy 启动器的绝佳起点。您可以按如下方式运行它们:
#. Download the `Kivy demos for Android <https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/kivy/kivydemo-for-android.zip>`_
#. Unzip the contents and go to the folder `kivydemo-for-android`
#. Copy all the subfolders here to
我无法访问您的本地文件系统,因此无法读取 /sdcard/kivy 中的内容。请将需要翻译的英文文本直接粘贴到对话中,我会为您提供专业、准确的简体中文翻译。
运行启动器,并选择“图片”、“展示”、“触摸追踪”、“Cymunk”或其他演示之一...
投放市场¶
如果你已经使用Buildozer或python-for-android构建了自己的APK,你可以创建一个发布版本,该版本可以在Play商店或其他Android市场上发布。
为此,您必须使用 release 参数运行 Buildozer(例如 buildozer android release),或者如果使用 python-for-android,则需在 build.py 中使用 --release 选项。这将在 bin 目录中生成一个发布版 AAB,您必须对其进行正确签名和 zipalign。此过程的详细步骤已在 Android 文档中描述,请参阅 https://developer.android.com/studio/publish/app-signing.html#signing-manually - 所有必要工具均随 Android SDK 提供。
针对Android平台¶
Kivy 旨在跨平台实现一致的操作,因此做出了一些明确的设计决策。它包含了自己的一套控件,并且默认情况下,会构建一个包含所有必需核心依赖和库的 APK 或 AAB。
可以直接或(某种程度上)跨平台地针对特定的Android功能。更多详情,请参阅:doc:`Kivy on Android documentation </guide/android>`中的“使用Android API”部分。