likes
comments
collection
share

Flutter Shorebird热更新初体验

作者站长头像
站长
· 阅读数 43

官网

docs.shorebird.dev/

注意

  • 一定要科学上网
  • Terminal也要确处于科学上网环境

安装

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

Terminal执行安装命令,安装shorebird cli

Flutter Shorebird热更新初体验 安装完成后,执行shorebird doctor验证是否安装成功

登录

shorebird login

Terminal执行登录命令

Flutter Shorebird热更新初体验 登录我使用的是Google登录,在浏览器打开授权链接进行授权即可。

初始化

命令

shorebird init 

Terminal定位到工程的根目录,执行初始化命令

结果

Flutter Shorebird热更新初体验

Flutter Shorebird热更新初体验 执行成功后,

  • 工程根目录下会自动生成shorebird.yaml文件,里面保存了app_id信息,并且被pubspec.yaml引用
  • Android目录下的AndroidManifest.xml文件会自动添加INTERNET权限
  • Shorebird Console控制台自动创建一个应用,关联的就是你的本地工程

Android 端

发布版本

命令

shorebird release android

Terminal定位到工程的根目录,执行发布android版本命令

问题一

Flutter Shorebird热更新初体验 若遇到此问题,应该是网络情况问题,重试下就好了。

问题二

Flutter Shorebird热更新初体验 若遇到此问题,具体详情查看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文件即可

结果

Flutter Shorebird热更新初体验 Flutter Shorebird热更新初体验

  1. android打包成功后,显示当前app版本、平台类型、flutter版本信息
  2. 输入y继续下一步,将版本上传到Shorebird Console控制台
  3. 版本上传并发布成功后,显示版本信息,可以在Shorebird Console查看
  4. 使用 shorebird patch --platforms=android --release-version=1.0.0+1命令基于1.0.0+1打包补丁

修改代码

Flutter Shorebird热更新初体验 Flutter Shorebird热更新初体验 这里简单修改下app的主题颜色和计数器的步长

发布补丁

命令

shorebird patch --platforms=android --release-version=1.0.0+1

Terminal定位到工程的根目录,执行发布android补丁命令

结果

Flutter Shorebird热更新初体验 Flutter Shorebird热更新初体验

  1. android补丁生成成功后,显示当前app版本、平台cup架构信息
  2. 输入y继续下一步,将补丁上传至Shorebird Console控制台
  3. 补丁上传成功

iOS 端

发布版本

命令

shorebird release ios --export-method development

Terminal定位到工程的根目录,执行发布 ios 版本命令,这里构建的是针对注册了 Apple 开发者帐户的开发设备的测试包,构建之前,请在 xcode 中配置好证书。

结果

Flutter Shorebird热更新初体验 Flutter Shorebird热更新初体验

  1. ios打包成功后,显示当前 app 版本、平台类型、flutter 版本信息
  2. 输入y继续下一步,将版本上传到Shorebird Console控制台
  3. 版本上传并发布成功后,显示版本信息,可以在Shorebird Console查看
  4. 使用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 补丁命令

问题一

Flutter Shorebird热更新初体验 若遇到此问题,具体详情查看issue, 解决方案:

  • 下载aot-tools.dill文件
  • ~/.shorebird/bin/cache/artifacts/aot-tools/ef99b23fc158eca48dd9ecb76a819329985ad628/目录,使用刚下载的aot-tools.dill替换aot-tools.dill文件即可

结果

Flutter Shorebird热更新初体验 Flutter Shorebird热更新初体验

  1. ios补丁生成成功后,显示当前 app 版本、平台 cup 架构信息
  2. 输入y继续下一步,将补丁上传至Shorebird Console控制台
  3. 补丁上传成功

成果

Flutter Shorebird热更新初体验

Flutter Shorebird热更新初体验

可以看到,app 第二次打开后主题颜色从紫色变成橙色、计数器的步长从 1 变成 2,热更新成功。

转载自:https://juejin.cn/post/7380357384777039922
评论
请登录