当前位置: 首页 > news >正文

《Buildozer打包实战指南》第三节 安装Buildozer打包所需的依赖文件

目录

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, Line


class 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 parent

    def 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。

相关文章:

  • wordpress淘宝客教程/网站建设公司业务
  • 下载赶集网招聘最新招聘/南宁百度推广seo
  • ic商城网站建设/线上营销推广方案
  • 手工做耳环银材料哪个网站可以买到/中文域名的网站
  • 如何查看网站的空间商/seo 网站推广
  • 网站建设开票属于哪个名称/服装营销方式和手段
  • Retrofit源码分析实践(二)【Retrofit 免费的api测试工具引入】
  • Cadence PCB仿真使用Allegro PCB SI仿真参数单位配置与说明图文教程
  • 《和声学教程》学习笔记(四):属七和弦及其转位
  • Kubernetes:如何实现跨集群节点均匀调度分布Pod(Pod拓扑分布约束)
  • 3DMAX砖墙神器WallBuilder:快速生成常见砖墙插件教程
  • 郭天祥十天入门单片机学习笔记
  • 计算机网络必会:面向连接,无连接,可靠与不可靠
  • vue实现购物车思想
  • 用故事来传递商业价值
  • PTA 1095 解码PAT准考证 (C语言实现)
  • 二十九、Kubernetes中CronJob(CJ)详解
  • 【论文阅读】CenterNet