Flutter 热修复(Shorebird)

server/2024/10/19 2:17:00/

Shorebird:https://docs.shorebird.dev/

我们都知道安卓原生开发,热修复已经不是什么难题。阿里云,腾讯云已经都有现成的SDK可以接入。

然而Flutter开发还一直没有类似热修复的开发库,无意中看到了Shorebird这个平台,接下来就开始学习一波。

一.准备工作

1.安装Shorebird

Window系统

打开 PowerShell 终端并运行:

Set-ExecutionPolicy RemoteSigned -scope CurrentUser # Needed to execute remote scripts
iwr -UseBasicParsing 'https://raw.githubusercontent.com/shorebirdtech/install/main/install.ps1'|iex

在这里插入图片描述安装完成后验证一下:

打开普通终端运行命令:shorebird doctor

在这里插入图片描述

苹果系统运行命令如下:

curl --proto '=https' --tlsv1.2 https://raw.githubusercontent.com/shorebirdtech/install/main/install.sh -sSf | bash

2.登录

执行以下命令:

shorebird login

登录验证的时候,会让你选择使用哪个浏览器进行验证,Google和Microsoft。

由于Google账号验证有问题,所以选择的是Microsoft验证。
在这里插入图片描述

二.项目构建

1.初始化

要将现有 Flutter 项目配置为使用 Shorebird,请shorebird init 在 Flutter 项目的根目录下使用:

shorebird init

在这里插入图片描述

2.初始化包

项目开始打包:

shorebird release android

打包完默认生成的是aab格式的包

在这里插入图片描述
也可以改成apk的形式

shorebird release android --artifact apk

也可以指定发布的flutter版本

shorebird release android --flutter-version 3.19.0

在这里插入图片描述
以上就把包初始化完成了,这个算是第一个基础包(注意:这个包必须要安装,不然后续没法热更新),后边热修复会进行打差分包。

3.补丁包

上边打的包安装后,可以修改代码,打补丁包

shorebird patch android

在这里插入图片描述

理论上执行完命令后,补丁就已经发布了。重新打开app就可以看到更新了。

三.控制台

用Microsoft浏览器打开:https://console.shorebird.dev/

在这里可以看到构建的版本,和打过的补丁包。

在这里插入图片描述


http://www.ppmy.cn/server/5611.html

相关文章

计算机网络

HTTP协议 一 常见的HTTP请求方法 GET:请求指定的页面信息,并返回实体主体。POST:向指定资源提交数据进行处理请求(如提交表单或上传文件)。数据被包含在请求体中。POST请求可能会创建新的资源或修改现有资源。PUT&am…

面试题集中营—分布式共识算法

分布式共识算法目标 分布式主要就是为了解决单点故障。一开始只有一个服务节点提供服务,如下图所示。那么如果服务节点挂了,对不起等着吧。 为了服务的高可用性,我们一般都会多引入几个副节点当备份,当服务节点挂了,就…

ARM-学习day8

使用温湿度采集&#xff0c;控制灯&#xff0c;风扇和马达. lic.h #ifndef __IIC_H__ #define __IIC_H__#include"stm32mp1xx_gpio.h" #include"stm32mp1xx_rcc.h"#define SET_SDA_OUT do{GPIOF->MODER & (~(0x3 << 30)); \GPIOF->M…

4.18学习总结

多线程补充 等待唤醒机制 现在有两条线程在运行&#xff0c;其中一条线程可以创造一个特殊的数据供另一条线程使用&#xff0c;但这个数据的创建也有要求&#xff1a;在同一时间只允许有一个这样的特殊数据&#xff0c;那么我们要怎样去完成呢&#xff1f;如果用普通的多线程…

selenium篇-基础用法

Selenium WebDriver 是一款流行的自动化测试工具&#xff0c;用于模拟浏览器的各种操作。以下是一些Selenium WebDriver 中最常用的基本命令和方法摘要&#xff1a; 打开网页 (Get) 使用 get() 方法打开指定URL&#xff1a; Python 1driver.get("http://www.example.com&…

【BUG】前端|GET _MG_0001.JPG 404 (Not Found),hexo博客搭建过程图片路径正确却找不到图片

我的问题 我查了好多资料&#xff0c;结果原因是图片名称开头是_则该文件会被忽略。。。我注意到网上并没有提到这个问题&#xff0c;遂补了一下这篇博客并且汇总了我找到的所有解决办法。 具体检查方式&#xff1a; hexo生成一下静态资源&#xff1a; hexo g会发现这张图片…

【五十九】【算法分析与设计】高精度加法和高精度减法

高精度加法 高精度加法&#xff0c;也称为大数加法&#xff0c;是一种能够处理超过标准数据类型&#xff08;如 int 或 long&#xff09;允许范围的大数字的算法。 高精度数字通常无法使用单一的标准数据类型来存储。一个常见的方法是使用数组或字符串来表示每一位数字。例如…

从入门到精通C++之类和对象(续)

目录 初始化列表构造函数&#xff1f;拷贝构造&#xff1f;浅谈explicit关键字友元 内部类static成员总结 初始化列表 引入初始化列表&#xff1a;简化代码&#xff0c;提高效率 在编程中&#xff0c;初始化列表是一种用于在创建对象时初始化成员变量的快捷方式。通过初始化列…