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

BeeWare创建APK应用初体验

前言

最近在研究脱机执行APP自动化,了解到了BeeWare工具集,故此记录一下
官方文档:https://docs.beeware.org/zh-cn/latest/tutorial/tutorial-1.html

环境安装

安装 BeeWare 工具

pip install briefcase toga

安装 pipreqs(自动检测项目依赖,可选项)

pip install pipreqs

安装Git
下载地址:https://git-scm.com/downloads

注意:以上三个依赖是必须的,后续打包成APK的时候需要用到AndroidStudio以及JDK,但是这两个在进行打包的时候会自动安装,故此在此不必理会。

一、第一个应用:HelloWorld

1、创建应用

运行 new会创建一个应用,我们可以在这个过程定义一些信息,如APP名称之类的,唯一注意的是GUI Framework默认选用toga即可。当然首次运行可以直接使用默认,这些后续在pyproject.toml均可以修改。
命令行输入:

python -m briefcase new

运行上述代码后会创建一个BeeWare项目,项目架构(信息全选择默认)如下:
在这里插入图片描述

应用代码定义及修改位置位于app.py,如下是app.py的代码,在该段代码中,实现了获取输入框内用,调用button按键,并弹窗提示的功能。

"""
My first application
"""import toga
from toga.style import Pack
from toga.style.pack import COLUMN, ROWclass HelloWorld(toga.App):def startup(self):"""Construct and show the Toga application.Usually, you would add your application to a main content box.We then create a main window (with a name matching the app), andshow the main window."""main_box = toga.Box(style=Pack(direction=COLUMN))#定义一个标签和一个输入框name_label = toga.Label('Your name: ',style=Pack(padding=(0, 5)))self.name_input = toga.TextInput(style=Pack(flex=1))name_box = toga.Box(style=Pack(direction=ROW, padding=5))name_box.add(name_label)name_box.add(self.name_input)#定义一个按钮调用say_hello方法,传递参数为widgetbutton = toga.Button('Say Hello!',on_press=self.say_hello,style=Pack(padding=5))#主界面添加标签和输入框和按钮main_box.add(name_box)main_box.add(button)self.main_window = toga.MainWindow(title=self.formal_name)self.main_window.content = main_boxself.main_window.show()async def say_hello(self, widget):await self.main_window.dialog(toga.InfoDialog(f"Hello, {self.name_input.value}","Hi there!",))def main():return HelloWorld()
2、运行应用代码

命令行输入:

python -m briefcase dev

在这里插入图片描述
执行代码后会弹出一个应用窗口,这个就是我们的第一个应用:Hello World
输入框输入名字后,点击Say Hello后如下:
在这里插入图片描述

3、打包应用为APK

命令行输入:

python -m briefcase create android

上述代码为调用briefcase进行脚手架的创建,作用是生成Android项目结构,Android可用格式,在briefcase的工作流程中,必须先创建脚手架才能打包成Android应用。
首次调用创建脚手架的时候,briefcase会自动下载需要的JDK版本以及AndroidStudio版本,安装完成后会弹出协议,阅读完成后接受即可正常使用。
命令行输入:

python -m briefcase build android

上述代码为调用birefcase来进行apk的构建,同样的,第一次调用同时需要下载安装依赖,此项为birefcase自动调用脚手架模板,即上一步创建的脚手架,来进行APK的构建,构建完成后输出APK的路径。

4、使用模拟器安装APK调试

可以看到,在模拟器上可以正常使用该APK文件,操作与在windows上的界面操作类似
在这里插入图片描述

二、结语

在BeeWare上,我们可以方便的构造一个APK应用,我们不需要关心Android的代码是怎么样的,我们只需要关注Python的代码如何实现即可。在UI上,对我而言做工具类的APK,这个刚好满足我,不用过度关心UI的展示,默认显示即可。
BeeWare是一个强大的应用创建工具,不仅可以打包APK,也可以打包成windows应用。在使用上可以减少新的编程语言的学习成本。

http://www.xdnf.cn/news/6579.html

相关文章:

  • 仿生机械轮腿式车辆在丘陵和山区姿态控制的方法
  • 用整数划分整理结构
  • Linux系统篇——文件描述符FD
  • TC8:SOMEIP_ETS_029-030
  • Stainer Chain的镜像对称性的充分必要条件
  • Unity 拖尾烟尘效果及参数展示
  • qt文本边框设置
  • 解决“VMware另一个程序已锁定文件的一部分,进程无法访问“
  • 机器学习与人工智能:NLP分词与文本相似度分析
  • 反射机制详细说明
  • 2025/5/16
  • 费曼技巧及提高计划
  • Font导致内存泄漏问题排查记录
  • Android 中 打开文件选择器(ACTION_OPEN_DOCUMENT )
  • 利用边缘计算和工业计算机实现智能视频分析
  • JAVAfx项目总结 算法题
  • 《AI大模型应知应会100篇》第65篇:基于大模型的文档问答系统实现
  • Linux 系统切换国内镜像源教程
  • ChatGPT到Claude全适配:跨模型Prompt高级设计规范与迁移技巧
  • 面向SDV的在环测试深度解析——仿真中间件SIL KIT应用篇
  • 职坐标AIoT技能培训课程实战解析
  • python报错:必须实现所有abstract方法原因及解决方案
  • 如何更改远程桌面连接的默认端口?附外网访问内网计算机方法
  • 数学复习笔记 13
  • polarctf-web-[rce1]
  • P1439 【模板】最长公共子序列
  • 第五部分:第五节 - Express 路由与中间件进阶:厨房的分工与异常处理
  • “多维像素”可赋能具身智能非凡感知力——昱感微参加2025松山湖中国IC创新高峰论坛
  • 2026《数据结构》考研复习笔记四(绪论)
  • [AI算法] LLM训练-构建transformers custom model