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打包安卓apk文件,Python高效开发安卓app_第1张图片

输入完成之后,BeeWare会开始创建应用,创建完成之后,会有如下提示:

同时目录下多出了一个与应用程序名称同名的目录:

BeeWare打包安卓apk文件,Python高效开发安卓app_第2张图片
接下来我们打开 HelloWorld目录下的src/helloworld/app.py,之后代码就是从这里编写,然后主窗口是__main__.py

接下来这里,因为我是直接打包了Python的一些第三方库:requests 、BeautifulSoup,所以需要做一个配置修改,找到Helloworld目录下的 pyproject.toml 这个文件,然后找到第15行的requires参数添加你需要的第三方库,比如:
BeeWare打包安卓apk文件,Python高效开发安卓app_第3张图片

再然后,还需要添加第52行的requires列表:
BeeWare打包安卓apk文件,Python高效开发安卓app_第4张图片

3.运行项目:

briefcase dev
BeeWare打包安卓apk文件,Python高效开发安卓app_第5张图片
这里我默认修改了app.py几行代码

"""
My first application
"""
import toga
import requests
from bs4 import BeautifulSoup
from toga.style import Pack
from toga.style.pack import COLUMN, ROW


class 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 = None
        self.title_name = None
        self.main_box = None

    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), and
        show 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_box
        self.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.text
        label = 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
BeeWare打包安卓apk文件,Python高效开发安卓app_第6张图片
输入y,创建安卓平台环境。
(2)接着我们编译程序,构建安卓应用:briefcase build android
BeeWare打包安卓apk文件,Python高效开发安卓app_第7张图片
(3)编译完成之后,运行模拟器。这里我电脑配置原因,没有安装模拟器而是直接打包apk文件,在这里会让我们选择设备,可以选择 BeeWare 提供的安卓虚拟机或者是在电脑上连接自己的手机,我们选择安卓虚拟机:briefcase run android

注:这里的话,我的Python版本是3.9,建议安装3.7或者3.8

(4)最后,打包安卓应用:briefcase package android
BeeWare打包安卓apk文件,Python高效开发安卓app_第8张图片
打包完成之后,会默认生成一个apk文件,那个文件就是我们打包好的安卓app文件,在目录下:D:\AutoProject\helloworld\android\gradle\Hello World\app\build\outputs\apk\debug\app-debug.apk

最后,我们打开写好的app文件:
BeeWare打包安卓apk文件,Python高效开发安卓app_第9张图片

感谢Python爱好者,感谢这个伟大的开源自由教皇主义!作者:发发 【&】QQ: 2633475788

你可能感兴趣的:(python,pycharm,ide,gradle)