当前位置: 首页 > news >正文

eas 热更新相关

几个问题:

eas 打包 和 eas 热更新

打包命令:eas build --profile [profile name] --platform all
热更新命令:eas update --channel [channel name] --message “测试版本1.0.1”

eas.json vs app.json(app.config.js)

The knowledge sources provided don’t contain the full content of thehttps://docs.expo.dev/eas-update/expo-dev-client/page, so I’ll answer based on the available related documentation.


EAS 热更新完整流程

整体流程概览
安装依赖 → 配置项目 → 创建构建 → 发布更新 → 用户接收更新

第一步:安装依赖
npx expoinstallexpo-updates

[安装 expo-updates]


第二步:配置项目
eas update:configure

该命令会自动完成:

  • app.json中添加updates.urlruntimeVersion
  • eas.json各构建 profile 中添加channel属性

配置完成后app.json示例:

{"expo":{"runtimeVersion":{"policy":"appVersion"},"updates":{"url":"https://u.expo.dev/your-project-id"}}}

eas.json示例:

{"build":{"preview":{"distribution":"internal","channel":"preview"},"production":{"channel":"production"}}}

[配置项目]


第三步:创建构建

Channel 信息会在构建时烧录进原生代码,所以必须先有构建才能接收更新:

eas build--profileproduction

[EAS Build 与 Update]


第四步:发布更新

修改 JS 代码后,推送热更新:

eas update--channelproduction--message"修复登录页面 bug"

发布后 EAS 服务器会将更新分发给所有channel=productionruntimeVersion匹配的 App。[发布更新]


第五步:用户接收更新
方式说明
自动后台下载App 启动时自动检查并下载,下次冷启动生效
Development Build通过 Extensions 面板手动加载指定更新,适合测试
Expo Orbit扫码直接安装并启动更新
编程控制使用expo-updatesuseUpdateshook 主动检查并提示用户

[测试更新]


注意事项
  • 热更新只能更新 JS 代码,涉及原生模块变更时必须重新构建
  • 每次修改原生层后需同步更新runtimeVersion,否则新旧版本 App 可能收到不兼容的更新
  • 默认情况下 debug 构建不会启用expo-updates,需要 release 或特殊配置的 debug 构建才能测试热更新效果 [调试说明]

Channel 与 Profile 的关系

Profile 是 eas.json 配置文件中环境的简称,用于构建时指定运行哪组环境配置。

Channel 代表当前应用环境的唯一标识。构建完成后,该标识会被记录在应用中。进行热更新时,系统只会拉取与该标识匹配的热更新资源包。

runtimeVersion的书写方式

参考这里:点击

备注:我理解应该使用平台特定运行版本。避免不兼容的更新

http://www.jsqmd.com/news/782661/

相关文章:

  • 亨得利名表子官方授权服务点全网最全测评:2026年最新门店地址、400电话预约避坑指南与真实维修保养体验分享 - 亨得利腕表维修中心
  • CANN驱动AI Core信息获取
  • WarcraftHelper:魔兽争霸3现代兼容性修复与性能优化完全指南
  • 为什么WHERE中的函数调用会引发灾难:揭秘KES与Oracle的函数执行顺序
  • 航材院内部流出!三套工作站黄金配置单,专治VASP算三天、Abaqus总崩溃、AI显存爆,科研党速抄!
  • 三月七小助手:如何5分钟完成《崩坏:星穹铁道》全部日常任务
  • 终极免费替代方案:500KB轻量级工具全面掌控Alienware灯光与散热系统
  • CANN/catlass矩阵乘API
  • CANN/AMCT 创建量化配置
  • Zeta电位分析仪选购指南:哪个品牌质量好?哪家公司最靠谱? - 品牌推荐大师
  • 科学绘图软件Origin下载与安装教程(详细教程,附安装包) 2025最新版详细图文安装教程
  • Clawdbot本地模型工具调用补丁:解决AI助手与本地推理服务器握手问题
  • 500元以内头戴式耳机推荐哪款?百元性价比最高的十款头戴式耳机
  • 3步搞定微信聊天记录永久备份:开源神器WeChatExporter终极指南
  • XHS-Downloader终极教程:3分钟掌握小红书无水印批量下载
  • 顶会论文模块复现与二次创新:NeurIPS 2026 前沿:将 Retentive Network 的保留机制引入主干,实现低成本长程建模
  • 30岁,转行网络安全,是这辈子最成功的一件事...... - 副本
  • 全域矩阵运营系统分布式任务调度架构设计与工程化落地
  • OpenClaw:不止聊天,能动手执行的开源 AI 智能体
  • 2026建筑防护材料选购指南:五大关键品类实力厂家深度解析 - 深度智识库
  • ncmdumpGUI:三分钟解锁网易云加密音乐,让你的音乐库真正自由
  • CANN/ge 流分配约束文档
  • 2026年全网10个免费降AI率工具深度测评:言笔/DeepSeek谁更强?一键降AI率必备工具 - 降AI实验室
  • 四川耐磨钢板・耐候钢板市场深度解析 - 深度智识库
  • 点餐外卖小程序源码如何降低平台开发成本与运营压力
  • CANN ops-nn ELU梯度算子
  • #24 Agent 的浏览器自动化:Playwright、Selenium 与网页交互
  • 既要又要还要?噬菌体展示如何帮助科学家“钓”出完美的抗毒素抗体?
  • 智慧云柜生产厂家推荐-聚澜智能 - 聚澜智能
  • 初次使用大模型API的新手如何通过模型广场快速选择合适的模型