打包成 Android 可执行文件的3种方式:
1、可以使用 python-for-android 为 android 创建一个包。
2、可以使用 Buildozer 工具自动完成整个过程。
3、可以使用 Kivy Launcher 打包,这样不用编译就能运行 Kivy 应用。
对于新手,建议使用 Buildozer,这是制作完整 APK 的最简单的途径。或者也可以使用 Kivy Launcher 这个应用来运行你的 Kivy 应用,而不用编译了。
Kivy 应用可以发布到 Android 应用市场,比如谷歌的 Play 市场等等,只需要额外几步来创建一个完整签名的 APK 就可以了。
下面简单介绍这三种打包方式:
用Buildozer打包:
Buildozer 是一个将整个构建过程自动化的工具。它会下载和设置 pythonfor-android 需要的所有依赖项目,包括 Android 的 SDK 和 NDK,然后会构建 APK ,这个 APK 可以自动推送到设备上。
Buildozer目前仅适用于 Linux,并且是 alpha 版本,但它已经可以良好运行并能显著简化 apk 构建的过程。
可以到 https://github.com/kivy/buildozer 获取 buildozer:
git clone https://github.com/kivy/buildozer.git
cd buildozer
sudo python setup.py install
上面的命令就会把 Buildozer 安装到你的操作系统中。接下来就是到你的项目目录然后运行如下命令:
buildozer init
这会在你的目录下创建一个名为 buildozer.spec 的文件,这个文件是控制项目构建选项的。估计你需要编辑修改一下这个文件,比如设置你应用的名字等等。在这里可以设置传递给 python-for-android 的全部或者大部分参数。
安装buildozer的依赖项。
最后一步,连接你的 Android 设备,然后运行下面的命令:
buildozer android debug deploy run
这样就可以创建、推送 APK 到你的设备上,然后就可以自动运行了。
Buildozer 有许多可以控制的选项和工具可以帮助你,上述步骤只是构建和运行 APK 的最简单方法。完整文档可在此处获得。你还可以访问 https://github.com/kivy/buildozer 查看 Buildozer 项目页面的 README 文件。
用 python-for-android 打包:
你也可以直接用 python-for-android 打包,这样你可以有更多控制选项,但需要手动下载和设置 Android 工具链。
有关完整详细信息,请参阅python-for-android文档。
用Kivy Launcher打包:
1、安装Kivy Launcher:从 http://kivy.org/#download 手动下载并在手机上安装此 APK。
2、将自己写的 Kivy 应用程序放在存储目录的根目录下的 kivy 文件夹(自建)下,如:/kivy/yourapplication。
注意:Kivy 应用程序必须放在存储目录的根目录下的 kivy 文件夹(自建)下,否则会出现如下错误:
yourapplication是项目文件夹,至少需要包含:main.py 和 android.txt 两个文件。
android.txt文件必须包含:
title=<Application Title> #这是应用的标题
author=<Your Name> #这是作者签名
orientation=<portrait|landscape> #设定屏幕方向为水平或竖直
上面这些都是非常基础的设置。如果你要用上面的工具来构建自己的 APK,还得调整很多其他的设定。
安装示例:
Kivy 自带了很多样例,可以用来测试 Kivy Launcher。可以用如下方法来运行:
1、下载 Kivy demos for Android。
2、解压并打开 kivydemo-for-android 文件夹。
3、将文件夹内所有内容复制到手机存储目录下的根目录下的 /kivy/ 这个文件夹中。
4、运行 Kivy Launcher 并从样例中选择一个测试,Pictures、Showcase、
Touchtracer、Cymunk 等等都可以。
在市场上发布:
如果是使用 Buildozer 或 python-for-android 构建的 APK 文件,则可以创建一个可在谷歌 Play 商店或其他 Android 市场上发布的发行版,Kivy Launcher则不行。
要想发布,就必须在运行 Buildozer 的时候添加上 release 参数,例如 buildozer android release,如果用了 python-for-android 就在 build.py 进行编译的时候加上 --release 。
这样就能在 bin 目录里面创建一个正式发布的 release 版的 APK 文件,需要做好签名和 zipalign 压缩优化(zipalign,优化 apk 应用程序的工具,使包内未压缩的数据能够有序的排列)。
上面这些操作的详细过程可以参考 Android 官方文档 ,所有用到的工具都在 Android SDK 里面了。