《Buildozer打包实战指南》第三节 安装Buildozer打包所需的依赖文件
创始人
2024-05-13 04:36:09

目录

3.1 安装依赖软件包

3.2 安装Cython

3.3 设置环境变量

3.4 安装p4a、Android SDK、NDK以及其他编译文件


Buidozer这个打包库下载安装完毕之后,我们还需要下载一些打包安卓apk所需要的依赖文件。

3.1 安装依赖软件包

首先输入以下命令更新Ubuntu上的软件包:

sudo apt update

然后输入以下命令下载安装必要的软件依赖包:

sudo apt install -y git zip unzip openjdk-17-jdk autoconf libtool pkg-config zlib1g-dev libncurses5-dev libncursesw5-dev libtinfo5 cmake libffi-dev libssl-dev

3.2 安装Cython

在终端中输入以下命令安装Cython这个第三方库:

pip3 install Cython==0.29.19 -i https://pypi.tuna.tsinghua.edu.cn/simple

3.3 设置环境变量

接下来我们要将buildozer.py这个文件添加到环境变量中,方便我们在终端中使用,这个文件在~/.local/bin路径下。双击桌面上的主目录图标打开主目录,然后按下Ctrl+H键就可以将.local这个隐藏文件夹显示出来。

现在我们打开主目录文件夹下的.bashrc文件。

 然后在文件最后添加下面这一行代码,保存文件。

export PATH=$PATH:~/.local/bin/

 在终端中输入$PATH后如果出现~/.local/bin的话就表明环境变量设置成功。

 注:在Linux上,~就代表主目录,主目录当中会包含当前用户的名称。

3.4 安装p4a、Android SDK、NDK以及其他编译文件

幸运的是,这些我们都不需要我们去单独下载,在首次打包时运行buildozer提供的命令后就会自动下载安装了。

第一步:在桌面上新建一个名为demo的文件夹。

第二步:在demo文件夹下打开终端,输入touch main.py命令新建一个待打包的py文件。

第三步:往main.py中复制以下代码。

__version__ = "1.0.0"
from random import random
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.button import Button
from kivy.graphics import Color, Ellipse, Lineclass MyPaintWidget(Widget):def on_touch_down(self, touch):color = (random(), 1, 1)with self.canvas:Color(*color, mode='hsv')d = 30.Ellipse(pos=(touch.x - d / 2, touch.y - d / 2), size=(d, d))touch.ud['line'] = Line(points=(touch.x, touch.y))def on_touch_move(self, touch):touch.ud['line'].points += [touch.x, touch.y]class MyPaintApp(App):def build(self):parent = Widget()self.painter = MyPaintWidget()clearbtn = Button(text='Clear')clearbtn.bind(on_release=self.clear_canvas)parent.add_widget(self.painter)parent.add_widget(clearbtn)return parentdef clear_canvas(self, obj):self.painter.canvas.clear()if __name__ == '__main__':MyPaintApp().run()

除了第一行表明程序版本信息的代码__version__ = "1.0.0"是笔者自己加上去的之外,区域代码均来自Kivy的官方文档。

代码运行结果如下:

第四步:在终端中输入buildozer init命令,此时可以看待demo文件夹中出现了一个buildozer.spec配置文件。

第五步:在终端中输入buildozer -v android debug命令开始打包。本来在打包前都需要修改buildozer.spec文件的配置,但这第一次打包的主要目的不是为了得到apk文件,而是为了让buildozer下载python-for-android(p4a),Android SDK、NDK以及其他依赖文件,这样以后再打包时就不需要再花很长的时间去下载这些文件了。

现在可以休息下,等待buildozer把必要的文件下载完毕并打包(过程中可能会有需要用户输入y进行确认的步骤,长时间未操作也可能会让Ubuntu进入休眠状态,需要留意下)。如果出现某个文件下载失败的情况,检查下网络是否正常。

笔者这里遇到了一个下载失败的问题,需要科学上网。科学上网之后重新运行buildozer -v android debug命令即可。等待了较长一段时间之后,apk文件成功生成。

经过本教程第一、二、三节的操作,安卓apk的打包环境已经准备完毕,笔者会在下一节教程中讲解buildozer.spec配置文件中的一些常用参数并正式打包一个apk。

相关内容

热门资讯

【便民】建设40家职工健身驿站... 资料:市总工会编辑:王一帆
车厘子的营养与健康 转自:市说新语
“强化纤维制品质量安全监管 促... 转自:市场监管总局网站1月13日上午,市场监管总局召开“强化纤维制品质量安全监管 促进循环经济高质量...
打造全国首个商保直付、覆盖主流... (来源:上观新闻)深圳市南山区人民医院已落地“商保直付”快捷通道腾讯官方保险代理平台——腾讯微保近日...
(乡村行·看振兴)山西长子:手... 中新网长治1月13日电 题:山西长子:手工笤帚“扫”出富民新路作者 刘小红 王雪瑶 王浩东在山西长子...