BeeWare打包安卓apk文件,Python高效开发安卓app
用Python框架BeeWare 开发安卓app:
提示:运行Python 3.7或更高版本
例如:
- [** ] 作者使用的Pycharm编译器
- Pycharm安装与使用教程已过滤 ~ ~ ~
搭建BeeWare教程:
BeeWare 是一个基于 Python 构建的跨平台应用开发框架,能够让 Python 编写的图形程序在 iOS, Android, Windows, MacOS, Linux, Web, 和 tvOS 上运行,看起来是个非常强大的最新GUI库!
安装:
打开Pycharm 编辑器,运行终端安装pip install briefcase
创建应用
BeeWare 安装完成之后,我们就可以通过 briefcase 命令在命令行终端进行 BeeWare 应用的管理,比如新建、运行、构建、打包等等。
命令输入之后,会让我们输入「应用的正式名称」、「应用程序名称」、「域名」、「项目名称」等等信息,在这里出于演示,我们统统使用默认值。
我们先使用命令 briefcase new 创建一个应用。
输入完成之后,BeeWare会开始创建应用,创建完成之后,会有如下提示:
同时目录下多出了一个与应用程序名称同名的目录:
接下来我们打开 HelloWorld目录下的src/helloworld/app.py,之后代码就是从这里编写,然后主窗口是__main__.py
接下来这里,因为我是直接打包了Python的一些第三方库:requests 、BeautifulSoup,所以需要做一个配置修改,找到Helloworld目录下的 pyproject.toml 这个文件,然后找到第15行的requires参数添加你需要的第三方库,比如:
再然后,还需要添加第52行的requires列表:
3.运行项目:
briefcase dev
这里我默认修改了app.py几行代码
"""
My first application
"""
import toga
import requests
from bs4 import BeautifulSoup
from toga.style import Pack
from toga.style.pack import COLUMN, ROWclass HelloWorld(toga.App):def __init__(self,formal_name=None,app_id=None,app_name=None,id=None,icon=None,author=None,version=None,home_page=None,description=None,startup=None,windows=None,on_exit=None,factory=None,):super().__init__(formal_name, app_id, app_name, id, icon, author, version, home_page, description, startup,windows, on_exit, factory)self.headers = Noneself.title_name = Noneself.main_box = Nonedef 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."""self.main_box = toga.Box(style=Pack(direction=COLUMN))button = toga.Button('GET',on_press=self.get_pyauto, # 按钮要调用的函数style=Pack(padding=5))self.main_box.add(button)self.main_window = toga.MainWindow(title=self.formal_name)self.main_window.content = self.main_boxself.main_window.show()def get_pyauto(self, widget):self.headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) ""Chrome/102.0.5005.124 Safari/537.36 Edg/102.0.1245.41 "}req = requests.get('https://www.pyautorobot.xyz/', headers=self.headers)if req.status_code == 200:req.encoding = "utf-8"soup = BeautifulSoup(req.text, "html.parser")self.title_name = soup.title.textlabel = toga.Label(self.title_name,style=Pack(padding=(0, 5)))self.main_box.add(label)def main():return HelloWorld()
这里的__main__.py代码不变,主程序入口!
4. 打包为安卓APP
(1)首先,创建应用的安卓脚手架:briefcase create android
输入y,创建安卓平台环境。
(2)接着我们编译程序,构建安卓应用:briefcase build android
(3)编译完成之后,运行模拟器。这里我电脑配置原因,没有安装模拟器而是直接打包apk文件,在这里会让我们选择设备,可以选择 BeeWare 提供的安卓虚拟机或者是在电脑上连接自己的手机,我们选择安卓虚拟机:briefcase run android
注:这里的话,我的Python版本是3.9,建议安装3.7或者3.8
(4)最后,打包安卓应用:briefcase package android
打包完成之后,会默认生成一个apk文件,那个文件就是我们打包好的安卓app文件,在目录下:D:\AutoProject\helloworld\android\gradle\Hello World\app\build\outputs\apk\debug\app-debug.apk
最后,我们打开写好的app文件:
感谢Python爱好者,感谢这个伟大的开源自由教皇主义!作者:发发 【&】QQ: 2633475788
BeeWare打包安卓apk文件,Python高效开发安卓app相关推荐
- 用Python来开发安卓程序:(1)BeeWare安卓开发环境的搭建
文章目录 1. 前言 2. BeeWare简介 3. 开发环境搭建注意事项 4. 安装BeeWare 5. 开发环境搭建 5.1 创建项目 5.1.1 创建一个新项目 5.2 运行项目 5.3 打包项 ...
- uniapp项目创建打包生成安卓apk文件
1.下载开发工具 HBuilder X 并安装 下载地址(安装过程不赘述):HBuilderX-高效极客技巧 2.创建uniapp项目 点击左上角文件=>新建=>项目,选择项目类型,填写项 ...
- 如何将vue项目打包为.apk文件
说明:使用Vue.js开发完毕的app一般不作处理的话,就只能在浏览器上做为Webapp使用.如果需要将它安装到安卓手机上就需要打包为.apk文件了. 前提:安装HBuilderX 具体步骤: 1.在 ...
- Android在线生成证书并打包成apk文件
安卓开发,离不开打包apk,调试发布都需要的,现在我们来了解学习: 参考:https://www.jianshu.com/p/7ca9b37ec1d5 一.生成安卓证书 Eclipse的签名文件是以. ...
- python安卓应用程序开发,python怎么开发安卓app
python可以写软件么怎么写? 22点24分准时推送,第一时间送达编辑:技术君 | 来源:youerning上一篇:正文前言用 Python 写安卓 APP 肯定不是最好的选择,目前用Java和 k ...
- linux(以ubuntu为例)下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件...
原创,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4555328.html 之前写过一篇<windows下Android利用ant自动编译.修改配置文件.批量 ...
- android编译系统apk文件,VS2012中MonoForAndroid打包编译APK文件详细图文教程
本文用于介绍Visual Studio 2012中Xamarin Mono For Android 如何打包编译APK文件,从如何创建Android项目,到如何启动调试,都会逐个配图讲解. 1 新建项 ...
- python实战演练_《Python高效开发实战》实战演练——
在完成Django项目和应用的建立后,即可以开始编写网站应用代码,这里通过为注册页面显示一个欢迎标题,来演示Django的路由映射功能. 1)首先在djangosite/app/views.py中建立 ...
- python高效开发实战配套源文件_分享12个python使用技巧,助你轻松掌握Python高效开发...
前言: 欢迎大家收看分享12个python使用技巧,助你轻松掌握Python高效开发!部分代码用图片的方式呈现出来,方便各位观看与收藏,要是喜欢的话,记得一定不要忘记点赞关注嗷! 内容如下: 1. 隐 ...
最新文章
- python 内置函数
- 机器学习、超参数、最优超参数、网格搜索、随机搜索、贝叶斯优化、Google Vizier、Adviser
- RxJava Timer:代替handler
- matplotlib 均值_干货|教你一文掌握:Matplotlib+Seaborn可视化
- J2EE 字符 字节 编码知识概念
- IOS开发基础之使用AFNetworking框架实现xml文件的解析
- 使用lambdaquery() 报空指针异常_Java 14 来势汹汹,这回让空指针无处遁形!!
- 不能算是读后感的读后感
- 自旋锁spin_lock
- mysql 联合查询去重复_两个表联合查询去重复GROUP_CONCAT
- 最新老男孩Linux云计算sre学什么
- web前端课程设计——K.X的博客
- LaTeX Beamer 制作PPT时给某一页添加背景图片(并设置透明度)
- nas 微型计算机,快速做种,PT上传更方便 用NAS玩转PT
- 如何让用html制作404页面,网站404页面怎么做?
- 性能测试指标及常用监控工具
- QQ空间自动点赞脚本
- PhalAPI学习笔记拓展篇 ———ADM模式中NotORM实现简单CURD
- win8宽带连接服务器未响应,关于Win8系统连接宽带错误的解决方法介绍
- uni.navigateBack直接返回到首页
热门文章
- hive insert 时遇到锁表怎么解决
- CSGO电竞数据API接口 - 【战队列表】API调用代码
- java调用浏览器界面自定义截图
- 苹果手机系统更新在哪里显示无服务器,苹果手机系统升级出现故障问题,怎么看问题出在哪里...
- 什么是水位?水文中常见的特征水位有哪些,各表达什么意思?
- 医院借力泛微今承达实现数字化合同管理,落实内控管理,高效规范
- MODBUS通讯之数据帧格式解读(附资料下载)
- 小程序视频压缩并且设置视频时长
- oracle 中横线转义符,oracle 转义字符去掉下划线 _ 的使用方法
- Python基于easyocr和fitz实现的pdf转文字