BeeWare官方教程
中文文档下载地址
以下内容为按照教程在windows平台测试。
安装python
如果你使用Windows系统,可以从python官网获取官方安装包。可以使用3.7之后的任何稳定版本的Python。建议避免使用阿尔法,贝塔和其他已经发布的候选版本。
安装依赖包
在Windows系统上构建BeeWare 需要:
Git,一种分布式版本控制系统。可以从官网下载Git
安装这些工具后,重新启动所有终端。Windows只会在安装完成后显示新安装的工具终端。
创建虚拟环境
可以将BeeWare的工具直接安装到您的主Python环境中。但是,非常非常非常建议使用虚拟环境。
conda create --name beeware_py38 python=3.8
可以自己设置python版本、虚拟环境名字
安装BeeWare
pip install briefcase
确保安装成功
conda list
新建项目
briefcase new
在开发者模式下运行应用程序
cd helloworld
briefcase dev
运行成功会打开一个新窗口
创建应用程序脚手架
briefcase create
搭建应用程序
briefcase build
使用Briefcase运行app
briefcase run
打包为windows桌面应用程序
windows文件夹会包含一个名为Hello_World-0.0.1.msi的文件。如果双击这个安装包运行它,你应该会看到是熟悉的windows安装流程。一旦安装完成,就会在开始菜单看到“Hello World”
briefcase package
更新app代码
①打包之后修改代码使用briefcase dev
可使修改生效,若使用briefcase run
修改无效。
②使用briefcase update
为现存的应用程序包更新代码;使用 briefcase build
命令重新编译app,使用briefcase run
命令运行升级后的app,使用 briefcase package
命令重新打包app以便分发。
③若想一步更改代码,更新app,迅速重新运行你的app,使用briefcase run -u
命令。
④如果你修改了app代码并想快速打包,可以使用briefcase package -u
命令。
⑤对大多数日常开发,briefcase dev
命令更便捷。
打包为Android app
briefcase create android
当你第一次使用 briefcase create android 命令时,Briefcase下载Java JDK和安卓SDK。文件大小和下载时间相关联;可能要一会(10分钟或者更长,取决于你的网速)。下载完成之后,系统会提示你接受谷歌的安卓SDK协议。
完成之后,我们的工程下会有一个android目录。这个目录包含一个Hello World文件,它将包含一个带有Gradle构建配置的Android项目。项目中包含app代码,和一个含有Python编译器的支持包。
我们可以使用briefcase build android
命令将这些编译成一个安卓APK文件。
briefcase build android
在使用 briefcase build android 命令这一步,Gradle(安卓平台的搭建工具)将会打印CONFIGURING: 100%,但看起来什么事也没做。别担心,它并没有停止工作-它在下载更多安卓SDK组件。这可能需要十分钟或更长时间都取决于网速。当你第一次使用build命令时才产生这种迟滞,当你下次搭建的时候,将会使用之前的缓存版本。
在虚拟设备给上运行app
briefcase run android
系统会提示你可运行app的设备清单。最后一个选项始终是创建一个新的安卓模拟器。让选的时候输入设备前面对应的数字即可。
在实体设备上运行app
briefcase package android
打包完成之后,在"F:\BeeWareProject\hello\android\gradle\hello\app\build\outputs\apk\debug\app-debug.apk"找到打包好的文件,把apk 文件传到手机上安装即可。
使用第三方库
已经向代码中添加了第三方库,通过pip命令安装第三方库,使之添加到虚拟开发环境中,然后重新运行 briefcase dev。
以使用httpx库为例:
python -m pip install httpx
briefcase dev
更新本地app
briefcase update
briefcase build
briefcase run
此时运行app会报错,因为httpx只是被安装在开发环境中,并没有被打包到app中。
在app的根目录中有一个名为pyproject.toml的文件。这个文件包含你第一次运行 briefcase new命令时你提供的所有配置细节。
修改reqquire设置:
- requires = [
-
"httpx",
- ]
增加这个设置,相当于告诉Briefcase当你构建app时,运行pip install httpx 命令把httpx包安装到app中。 任何对pip install命令合理的输入都可以用在这里-所以可以指定:
特定库的版本(例如 “httpx==0.19.0”);
库版本的范围(例如"httpx>=0.19")
克隆仓库的路径(例如 “git+https://github.com/encode/httpx”)
或者本地文件路径(然而-警告:如果你把代码发给其他人,他们的电脑上可能不存在这个路径)
在桌面平台(macOS,Windows,Linux),任何pip能安装的都可以被添加到你的需求中,但是在移动平台,你的选项有一点受限-你只能使用纯Python包及包中不能包含二进制模块。
将更改保存到pyproject.toml,然后重新升级app-这一次添加-d标志。这告诉Briefcase升级已打包app中的依赖项。
briefcase update -d
升级完成后,使用briefcase build
和 briefcase run
命令重新运行