Flutter Shorebird热更新初体验
官网
注意
- 一定要科学上网
- Terminal也要确处于科学上网环境
安装
curl --proto '=https' --tlsv1.2 https://raw.githubusercontent.com/shorebirdtech/install/main/install.sh -sSf | bash
在Terminal
执行安装命令,安装shorebird cli
安装完成后,执行
shorebird doctor
验证是否安装成功
登录
shorebird login
在Terminal
执行登录命令
登录我使用的是
Google
登录,在浏览器打开授权链接进行授权即可。
初始化
命令
shorebird init
在Terminal
定位到工程的根目录,执行初始化命令
结果
执行成功后,
- 工程根目录下会自动生成
shorebird.yaml
文件,里面保存了app_id
信息,并且被pubspec.yaml
引用 - Android目录下的
AndroidManifest.xml
文件会自动添加INTERNET
权限 - 在 Shorebird Console控制台自动创建一个应用,关联的就是你的本地工程
Android 端
发布版本
命令
shorebird release android
在Terminal
定位到工程的根目录,执行发布android版本命令
问题一
若遇到此问题,应该是网络情况问题,重试下就好了。
问题二
若遇到此问题,具体详情查看issue, 解决方案:
- 执行
md5 ~/.shorebird/bin/cache/artifacts/bundletool/bundletool.jar
,验证md5结果是否等于d91230a986d4a990e7bb69351b9e9464
- 若不是,去下载bundletool-all-1.15.6.jar文件
- 去
~/.shorebird/bin/cache/artifacts/bundletool/
目录,使用bundletool-all-1.15.6.jar
替换bundletool.jar
文件即可
结果
android
打包成功后,显示当前app版本、平台类型、flutter版本信息输入y
继续下一步,将版本上传到Shorebird Console控制台- 版本上传并发布成功后,显示版本信息,可以在Shorebird Console查看
- 使用
shorebird patch --platforms=android --release-version=1.0.0+1
命令基于1.0.0+1
打包补丁
修改代码
这里简单修改下
app
的主题颜色和计数器的步长
发布补丁
命令
shorebird patch --platforms=android --release-version=1.0.0+1
在Terminal
定位到工程的根目录,执行发布android补丁命令
结果
android
补丁生成成功后,显示当前app版本、平台cup架构信息输入y
继续下一步,将补丁上传至Shorebird Console控制台- 补丁上传成功
iOS 端
发布版本
命令
shorebird release ios --export-method development
在Terminal
定位到工程的根目录,执行发布 ios 版本命令,这里构建的是针对注册了 Apple 开发者帐户的开发设备的测试包,构建之前,请在 xcode 中配置好证书。
结果
ios
打包成功后,显示当前 app 版本、平台类型、flutter 版本信息输入y
继续下一步,将版本上传到Shorebird Console控制台- 版本上传并发布成功后,显示版本信息,可以在Shorebird Console查看
- 使用
shorebird patch --platforms=ios --release-version=1.0.0+2 --export-method development
命令基于1.0.0+2
打包补丁
修改代码
发布补丁
命令
shorebird patch --platforms=ios --release-version=1.0.0+2 --export-method development
在Terminal
定位到工程的根目录,执行发布 ios 补丁命令
问题一
若遇到此问题,具体详情查看issue, 解决方案:
- 下载aot-tools.dill文件
- 去
~/.shorebird/bin/cache/artifacts/aot-tools/ef99b23fc158eca48dd9ecb76a819329985ad628/
目录,使用刚下载的aot-tools.dill
替换aot-tools.dill
文件即可
结果
ios
补丁生成成功后,显示当前 app 版本、平台 cup 架构信息输入y
继续下一步,将补丁上传至Shorebird Console控制台- 补丁上传成功
成果
可以看到,app 第二次打开后主题颜色从紫色变成橙色、计数器的步长从 1 变成 2,热更新成功。
转载自:https://juejin.cn/post/7380357384777039922