You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用TravisCI构建Expo React-Native Android应用的问题咨询

解决TravisCI自动等待Expo Android构建完成的问题

刚好我之前也碰到过一模一样的情况——用TravisCI触发Expo构建后,控制台卡在Waiting for build to complete. You can press Ctrl+C to exit.,没法自动走完流程。其实问题出在exp build:android的默认行为上,它默认是交互式模式,需要手动干预,但TraCI是自动化环境,肯定没法做这个操作。

核心解决方案:添加--wait参数

你只需要修改.travis.yml里的构建命令,给exp build:android加上--wait参数,就能让TraCI自动等待构建完成,不用手动退出。

修改后的完整.travis.yml配置

os: linux
dist: trusty
cache:
  directories:
    - node_modules
group: stable
script:
  - npm i -g expo-cli  # 建议用最新的expo-cli替代旧的exp工具
  - exp login -u $EXPO_USERNAME -p $EXPO_PASSWORD  # 用环境变量存账号密码更安全
  - npm install
  - npm test
  - exp build:android --wait
node_js: stable
language: node_js

关键细节说明

  • --wait参数的作用:让exp build:android命令一直阻塞运行,直到Expo的构建流程完全结束(不管成功还是失败),这样TraCI就能捕获到最终的构建结果,不会卡在等待提示。
  • 替换exp为expo-cli:旧的exp工具已经不再维护,换成官方推荐的expo-cli能避免很多版本兼容问题。
  • 环境变量存账号密码:硬编码账号密码在配置文件里非常不安全,你可以在TraCI的项目设置中添加EXPO_USERNAME和EXPO_PASSWORD两个环境变量,这样命令里用变量引用就好,既安全又方便修改。

额外优化:避免超时终止

如果你的Expo构建时间比较长,TraCI可能会因为默认超时时间不够而终止流程。可以在配置里添加超时设置,延长允许的构建时长:

jobs:
  include:
    - os: linux
      dist: trusty
      timeout: 60m  # 根据你的实际构建时长调整,比如设为60分钟

内容的提问来源于stack exchange,提问作者Freshchris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:40:32