BeeWare 峰器 中文文档 - 教程 5 - 移动端:Android
现在,我们将使用我们的应用程序,并将其部署为 Android 应用程序。
将应用程序部署到 Android 的过程与部署为桌面应用程序的过程非常相似。Briefcase 负责为 Android 安装依赖项,包括 Android SDK、Android 模拟器和 Java 编译器。
创建一个Android应用并编译它
首先,运行create命令。这会下载一个 Android 应用模板并将您的 Python 代码添加到其中。
苹果系统
(beeware-venv) $ briefcase create android[helloworld] Generating application template...
Using app template: https://github.com/beeware/briefcase-android-gradle-template.git
...
[helloworld] Installing support package...
...
[helloworld] Installing dependencies...
...
[helloworld] Installing application code...
...
[helloworld] Installing application resources...
...
[helloworld] Application created.
Linux
(beeware-venv) $ briefcase create android[helloworld] Generating application template...
Using app template: https://github.com/beeware/briefcase-android-gradle-template.git
...
[helloworld] Installing support package...
...
[helloworld] Installing dependencies...
...
[helloworld] Installing application code...
...
[helloworld] Installing application resources...
...
[helloworld] Application created.
视窗
(beeware-venv) C:\...>briefcase create android[helloworld] Generating application template...
Using app template: https://github.com/beeware/briefcase-android-gradle-template.git
...
[helloworld] Installing support package...
...
[helloworld] Installing dependencies...
...
[helloworld] Installing application code...
...
[helloworld] Installing application resources...
...
[helloworld] Application created.
首次运行时,Briefcase 会下载 Java JDK 和 Android SDK。文件大小和下载时间可能很长;这可能需要一段时间(10 分钟或更长时间,具体取决于您的 Internet 连接速度)。下载完成后,系统会提示您接受 Google 的 Android SDK 许可。briefcase create android
一旦完成,我们现在将android在我们的项目中有一个目录。该目录将包含一个文件夹,该文件夹将包含一个带有 Gradle 构建配置的 Android 项目。该项目将包含您的应用程序代码,以及一个包含 Python 解释器的支持包。Hello World
然后,我们可以使用 Briefcase 的build命令将其编译为 Android APK 应用程序文件。
苹果系统
(beeware-venv) $ briefcase build android
[helloworld] Building Android APK...
Starting a Gradle Daemon
...
BUILD SUCCESSFUL in 1m 1s
28 actionable tasks: 17 executed, 11 up-to-date
[helloworld] Built android/Hello World/app/build/outputs/apk/debug/app-debug.apk
Gradle 可能看起来卡住了
Linux
(beeware-venv) $ briefcase build android
[helloworld] Building Android APK...
Starting a Gradle Daemon
...
BUILD SUCCESSFUL in 1m 1s
28 actionable tasks: 17 executed, 11 up-to-date
[helloworld] Built android/Hello World/app/build/outputs/apk/debug/app-debug.apk
视窗
(beeware-venv) C:\...>briefcase build android
[helloworld] Building Android APK...
Starting a Gradle Daemon
...
BUILD SUCCESSFUL in 1m 1s
28 actionable tasks: 17 executed, 11 up-to-date
[helloworld] Built android\Hello World\app\build\outputs\apk\debug\app-debug.apk
在该步骤中,Gradle(Android 平台构建工具)将打印,并且似乎什么也没做。别担心,它没有卡住 - 它正在下载更多的 Android SDK 组件。根据您的 Internet 连接速度,这可能需要另外 10 分钟(或更长时间)。这种延迟应该只在您第一次运行时发生 ;这些工具被缓存,并且在您的下一次构建中,将使用缓存的版本。briefcase build androidCONFIGURING: 100%build
在虚拟设备上运行应用程序
我们现在准备好运行我们的应用程序了。您可以使用公文包的run命令在 Android 设备上运行该应用程序。让我们从在 Android 模拟器上运行开始。
要运行您的应用程序,请运行. 执行此操作时,系统会提示您提供可以运行该应用程序的设备列表。最后一项将始终是创建新 Android 模拟器的选项。briefcase run android苹果系统
(beeware-venv) $ briefcase run androidSelect device:1) Create a new Android emulator>
Linux
(beeware-venv) $ briefcase run androidSelect device:1) Create a new Android emulator>
视窗
(beeware-venv) C:\...>briefcase run androidSelect device:1) Create a new Android emulator>
我们现在可以选择我们想要的设备。选择“创建新的 Android 模拟器”选项,并接受设备名称的默认选择 ( beePhone)。
公文包run将自动启动虚拟设备。设备启动时,您将看到 Android 徽标:
Android 虚拟设备启动
Android 虚拟设备启动
设备完成启动后,公文包将在设备上安装您的应用程序。您将短暂看到一个启动器屏幕:
Android 虚拟设备已完全启动,在启动器屏幕上
Android 虚拟设备已完全启动,在启动器屏幕上
然后应用程序将启动。当应用程序启动时,您会看到一个启动画面:
应用启动画面
应用启动画面
应用程序第一次启动时,需要将自身解压到设备上。这可能需要几秒钟。解压后,您将看到我们桌面应用程序的 Android 版本:
教程 2 中的应用程序,完全启动
演示应用程序完全启动
如果您没有看到您的应用程序启动,您可能需要检查您运行的终端并查找任何错误消息。briefcase run
以后,如果您想在此设备上运行而不使用菜单,您可以将模拟器的名称提供给公文包,用于直接在虚拟设备上运行。briefcase run android -d @beePhone
在物理设备上运行应用程序
如果您有实体 Android 手机或平板电脑,您可以使用 USB 数据线将其连接到您的计算机,然后使用公文包来定位您的实体设备。
如果公文包可以检测到设备,它将出现在run输出中。第一次使用设备进行开发时,它可能会将自己报告为“未知设备(未授权开发)”:
苹果系统
(beeware-venv) $ briefcase run androidSelect device:1) Unknown device (not authorized for development) (94ZZY0LNE8)2) @beePhone (emulator)3) Create a new Android emulator>
Linux
(beeware-venv) $ briefcase run androidSelect device:1) Unknown device (not authorized for development) (94ZZY0LNE8)2) @beePhone (emulator)3) Create a new Android emulator>
视窗
(beeware-venv) C:\...>briefcase run androidSelect device:1) Unknown device (not authorized for development) (94ZZY0LNE8)2) @beePhone (emulator)3) Create a new Android emulator>
Android 要求在您将应用程序加载到设备上之前,将设备置于“开发者”模式。选择“未知”设备,您将看到一个链接,显示如何启用开发者模式。
启用开发人员模式后,您可以重新运行:briefcase run android
苹果系统
(beeware-venv) $ briefcase run androidSelect device:1) Pixel 3a (94ZZY0LNE8)2) @beePhone (emulator)3) Create a new Android emulator>
Linux
(beeware-venv) $ briefcase run androidSelect device:1) Pixel 3a (94ZZY0LNE8)2) @beePhone (emulator)3) Create a new Android emulator>
视窗
(beeware-venv) C:\...>briefcase run androidSelect device:1) Pixel 3a (94ZZY0LNE8)2) @beePhone (emulator)3) Create a new Android emulator>
这一次,我们得到了设备的名称和序列号(在本例中为 Pixel 3a)。
将来,如果您想在此设备上运行而不使用菜单,您可以将手机的序列号提供给公文包,使用. Thi 将直接在设备上运行,无需提示。briefcase run android -d 94ZZY0LNE8
笔记
在为 Android 开发时,能够查看 Android 日志非常有用。要在没有来自系统其余部分的背景噪音的情况下查看 Android 日志,您可以运行. 您的应用程序写入标准输出的任何内容(例如, 语句的输出)都将在日志中可见。adb logcat -s MainActivity:* stdio:* Python:*print()
下一步
我们现在在手机上安装了一个应用程序!但是,这个应用程序相当简单,并且不涉及任何第三方库。我们可以在我们的应用程序中包含来自 Python 包索引 (PyPI) 的库吗?转到教程 6以了解...
BeeWare 峰器 中文文档 - 教程 5 - 移动端:Android相关推荐
- BeeWare 峰器 中文文档 - 教程 5 - 移动端:iOS
现在,我们将使用我们的应用程序,并将其部署为 iOS 应用程序. 将应用程序部署到 iOS 的过程与部署为桌面应用程序的过程非常相似.首先,您运行create命令 - 但是这一次,我们指定我们要创建一 ...
- BeeWare 峰器 中文文档 - 教程 3 - 分发包装
到目前为止,我们一直在"开发者模式"下运行我们的应用程序.这使我们可以轻松地在本地运行我们的应用程序 - 但我们真正想要的是能够将我们的应用程序提供给其他人. 但是,我们不想教我们 ...
- BeeWare 峰器 中文文档 - 教程 0 - 让我们开始
教程 0 - 让我们开始吧! 在我们构建我们的第一个 BeeWare 应用程序之前,我们必须确保我们已经具备运行 BeeWare 的所有先决条件. 安装 Python 我们首先需要的是一个运行 Pyt ...
- BeeWare 峰器 中文文档 - 教程 1 - 你的第一个应用程序
我们已准备好创建我们的第一个应用程序. 安装 BeeWare 工具 首先,我们需要安装公文包.Briefcase 是一个 BeeWare 工具,可用于打包您的应用程序以分发给最终用户 - 但它也可用于 ...
- BeeWare 峰器 中文文档 - 教程 6 - 开始这个(第三方)
到目前为止,我们构建的应用程序只使用了我们自己的代码,加上 BeeWare 提供的代码.但是,在实际应用中,您可能希望使用从 Python 包索引 (PyPI) 下载的第三方库. 让我们修改我们的应用 ...
- BeeWare 峰器 中文文档 - 教程 2 - 让它变得有趣
在教程 1中,我们生成了一个能够运行的存根项目,但我们自己没有编写任何代码.让我们看看为我们生成了什么. 产生了什么 在src/helloworld目录中,您应该看到 3 个文件__init__.py ...
- React + webpack 开发单页面应用简明中文文档教程(一)一些基础概念
React + webpack 开发单页面应用简明中文文档教程(一)一些基础概念 React 入门系列教程导航 React + webpack 开发单页面应用简明中文文档教程(一)一些基础概念 Rea ...
- opm openresty的包管理器-中文文档
2022年1月11日13:57:45 官方:https://opm.openresty.org/ 官方文档:https://opm.openresty.org/docs#table-of-conten ...
- nest class-validator验证修饰器中文文档
网上好像没有class-validator验证修饰器的中文翻译,也好像没有官网,只有npm插件介绍里有,但是是英文的.这里我就做回搬运工,并翻译下,好用请点赞 至于使用方法nestjs官网直接cv,不 ...
最新文章
- 输入法项目-用delphi生成GBK 中文编码 表(4~5) GBK/4~5: 0xAA40~0xFEA0(部分) 扩充汉字 包括繁体 0xA840~0xA995(部分) 扩充非汉字...
- session或者error引起的iframe嵌套问题的解决
- 搞笑之----普通话
- _Blank主页——个人浏览器主页定制
- HDU - 3530 Subsequence(单调队列+思维)
- 直播开发项目发展下半场,转战AI直播开启全新模式
- SM37作业条目的存储表
- 2 字符串求交集_PostGIS教程十八:维数扩展的9交集模型
- JAVA并发七(多线程环境中安全使用集合API)
- iOS:Covert p12 back to CSR
- branch and bound(分支定界)算法-基础概念
- 嵌入式系统——专业英语
- paip.验证码识别的意义
- MySql整理(基础|进阶|运维)【黑马程序员视频】
- 【记要】计算机基础通识知识
- 一个HTTP请求的完整过程
- 二进制转化为十六进制
- 如何使用Blender制作360度全景图和全景视频?
- linux命令 ---rm
- 【大数据AI人工智能】图数据库的发展脉络与技术演进