将使用Kivy的Python程序打包为安卓的apk文件(使用python-for-android)

上次尝试了一下kivy,并且使用Kivy Laucher在安卓手机上成功运行python程序,非常好!又get了一项开发安卓手机端程序的新技能。 但是Kivy Laucher的方式还是不同于安卓手机常用的apk包。如果和其他人分享写好的程序,Kivy Laucher的方式还是比较麻烦的。

所以,我们来尝试打包apk!

打包工具

Kivy官方推荐使用Buildozer来打包,说什么可以自动化打包过程。然而我试了一下,发现安装各种依赖的过程非常的痛苦,虽然是自动下载的,但是因为网络环境的问题,非常的不顺畅。且每次新建一个项目后,打包过程会重复下载很多依赖,这一点让我非常的不理解。如果下载依赖的过程很快也就罢了,无奈每次下载过程都很慢,且会发生问题。
所以我又尝试了 python-for-android (以下简称p4a)。
关于打包apk的官方文档: https://kivy.org/doc/stable/guide/packaging-android.html

p4a

其实p4a也是Kivy官方推荐的打包方式,虽然需要些手工活,但是其实过程也并不复杂。 而且,(似乎)Buildozer也是基于p4a的。

WSL

WSL是Windows Subsystem for Linux,就是Windows下的Linux子系统,比较新版的Win10都可以安装。因为打包需要Linux环境,所以可以用虚拟机安装一个Linux系统。但是因为虚拟机有些笨重,而且安装虚拟机和一个新的Linux系统也有些麻烦,所以WSL成为一个非常好的选择。 安装方便,卸载方便,而且WSL和Windows主系统共享一个文件系统,拷贝文件也非常方便。

需要注意的是,我下面用的是WSL,而不是WSL 2。 WSL和WSL 2不是一个东西。

安装WSL的方法就不多说了,网上的介绍非常的多。WSL可安装的Linux有几个版本,我们这里使用Ubuntu。就目前来说,安装好的Ubuntu版本代号应该是Focal。 我用uname查看的信息如下:

$ uname -a
Linux DESKTOP-MY 4.4.0-18362-Microsoft #836-Microsoft Mon May 05 16:04:00 PST 2020 x86_64 x86_64 x86_64 GNU/Linux

配置环境

WSL的配置

首先更改apt源为国内源

cd ~
mkdir bak
cp /etc/apt/sources.list ~/bak/
sudo vi /etc/apt/sources.list

将文件更改为如下内容

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

更新系统

sudo apt-get update
sudo apt-get upgrade

安装各种依赖和包

根据buildozer的说明文档安装依赖
  • 21
    点赞
  • 261
    收藏
    觉得还不错? 一键收藏
  • 23
    评论
### 回答1: 要通过KivyPython文件打包APK,首先需要安装Kivy和一些相关的工具。可以通过pip来安装Kivy使用命令"pip install kivy"即可。 安装完成后,我们可以使用buildozer这一命令行工具来进行APK打包。首先,需要安装buildozer,可以通过命令"pip install buildozer"来进行安装。 在准备好Python文件和相关资源后,需要创建一个buildozer.spec文件来配置APK打包参数。可以使用buildozer init命令创建该文件,然后使用文本编辑器进行编辑。在spec文件中,需要设置一些必要的信息,例如应用程序名称、版本号、图标等。 然后,使用buildozer进行编译和构建APK文件,命令为"buildozer android debug"。这会创建一个debug版本的APK文件,并生成一些临时文件和日志。 在构建过程中,buildozer会自动下载和安装一些依赖库和工具,以确保APK的成功构建。这可能需要一些时间,具体取决于网络速度和计算机性能。 完成构建后,可以在buildozer.spec文件所在的目录中找到生成的APK文件。将APK文件传输到Android设备上,并安装运行即可。根据之前在buildozer.spec文件中设置的名称、版本号和图标,应用程序将在设备上显示。 总结而言,通过安装Kivy和buildozer工具,创建buildozer.spec文件并进行配置,最后使用buildozer命令构建APK文件,即可将Python文件打包APK。 ### 回答2: 通过Kivy打包Python文件APK是一种将Python应用程序转化为可以在Android设备上运行的安装包的方法。下面是相关步骤: 1. 确保已经在计算机上安装了Kivy,并设置了正确的环境变量。 2. 创建一个Kivy应用程序Python文件。这个文件将包含应用程序的逻辑和用户界面。 3. 通过使用buildozer工具,首先要创建一个名为buildozer.spec的配置文件。这个文件将用于配置构建过程中的参数。 4. 打开buildozer.spec文件并进行以下配置: - 设置应用程序的名称、版本号和包名。 - 添加应用程序所需的依赖项。 - 定义应用程序所需的权限。 5. 在终端中运行buildozer android debug命令来构建APK文件。 6. 构建过程可能需要一些时间,因为buildozer会自动下载和安装应用程序所需的依赖项和库。 7. 一旦构建完成,APK文件将在项目的“bin”目录中生成。 8. 将生成的APK文件传输到Android设备上,并安装运行即可。 通过这些步骤,你就可以使用KivyPython文件打包APK了。这样,你的Python应用程序就可以在Android设备上独立运行了,带来更广泛的用户体验和应用范围。
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值