用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相关推荐

  1. 用Python来开发安卓程序:(1)BeeWare安卓开发环境的搭建

    文章目录 1. 前言 2. BeeWare简介 3. 开发环境搭建注意事项 4. 安装BeeWare 5. 开发环境搭建 5.1 创建项目 5.1.1 创建一个新项目 5.2 运行项目 5.3 打包项 ...

  2. uniapp项目创建打包生成安卓apk文件

    1.下载开发工具 HBuilder X 并安装 下载地址(安装过程不赘述):HBuilderX-高效极客技巧 2.创建uniapp项目 点击左上角文件=>新建=>项目,选择项目类型,填写项 ...

  3. 如何将vue项目打包为.apk文件

    说明:使用Vue.js开发完毕的app一般不作处理的话,就只能在浏览器上做为Webapp使用.如果需要将它安装到安卓手机上就需要打包为.apk文件了. 前提:安装HBuilderX 具体步骤: 1.在 ...

  4. Android在线生成证书并打包成apk文件

    安卓开发,离不开打包apk,调试发布都需要的,现在我们来了解学习: 参考:https://www.jianshu.com/p/7ca9b37ec1d5 一.生成安卓证书 Eclipse的签名文件是以. ...

  5. python安卓应用程序开发,python怎么开发安卓app

    python可以写软件么怎么写? 22点24分准时推送,第一时间送达编辑:技术君 | 来源:youerning上一篇:正文前言用 Python 写安卓 APP 肯定不是最好的选择,目前用Java和 k ...

  6. linux(以ubuntu为例)下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件...

    原创,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4555328.html  之前写过一篇<windows下Android利用ant自动编译.修改配置文件.批量 ...

  7. android编译系统apk文件,VS2012中MonoForAndroid打包编译APK文件详细图文教程

    本文用于介绍Visual Studio 2012中Xamarin Mono For Android 如何打包编译APK文件,从如何创建Android项目,到如何启动调试,都会逐个配图讲解. 1 新建项 ...

  8. python实战演练_《Python高效开发实战》实战演练——

    在完成Django项目和应用的建立后,即可以开始编写网站应用代码,这里通过为注册页面显示一个欢迎标题,来演示Django的路由映射功能. 1)首先在djangosite/app/views.py中建立 ...

  9. python高效开发实战配套源文件_分享12个python使用技巧,助你轻松掌握Python高效开发...

    前言: 欢迎大家收看分享12个python使用技巧,助你轻松掌握Python高效开发!部分代码用图片的方式呈现出来,方便各位观看与收藏,要是喜欢的话,记得一定不要忘记点赞关注嗷! 内容如下: 1. 隐 ...

最新文章

  1. python 内置函数
  2. 机器学习、超参数、最优超参数、网格搜索、随机搜索、贝叶斯优化、Google Vizier、Adviser
  3. RxJava Timer:代替handler
  4. matplotlib 均值_干货|教你一文掌握:Matplotlib+Seaborn可视化
  5. J2EE 字符 字节 编码知识概念
  6. IOS开发基础之使用AFNetworking框架实现xml文件的解析
  7. 使用lambdaquery() 报空指针异常_Java 14 来势汹汹,这回让空指针无处遁形!!
  8. 不能算是读后感的读后感
  9. 自旋锁spin_lock
  10. mysql 联合查询去重复_两个表联合查询去重复GROUP_CONCAT
  11. 最新老男孩Linux云计算sre学什么
  12. web前端课程设计——K.X的博客
  13. LaTeX Beamer 制作PPT时给某一页添加背景图片(并设置透明度)
  14. nas 微型计算机,快速做种,PT上传更方便 用NAS玩转PT
  15. 如何让用html制作404页面,网站404页面怎么做?
  16. 性能测试指标及常用监控工具
  17. QQ空间自动点赞脚本
  18. PhalAPI学习笔记拓展篇 ———ADM模式中NotORM实现简单CURD
  19. win8宽带连接服务器未响应,关于Win8系统连接宽带错误的解决方法介绍
  20. uni.navigateBack直接返回到首页

热门文章

  1. hive insert 时遇到锁表怎么解决
  2. CSGO电竞数据API接口 - 【战队列表】API调用代码
  3. java调用浏览器界面自定义截图
  4. 苹果手机系统更新在哪里显示无服务器,苹果手机系统升级出现故障问题,怎么看问题出在哪里...
  5. 什么是水位?水文中常见的特征水位有哪些,各表达什么意思?
  6. 医院借力泛微今承达实现数字化合同管理,落实内控管理,高效规范
  7. MODBUS通讯之数据帧格式解读(附资料下载)
  8. 小程序视频压缩并且设置视频时长
  9. oracle 中横线转义符,oracle 转义字符去掉下划线 _ 的使用方法
  10. Python基于easyocr和fitz实现的pdf转文字