React Native Expo项目Android构建未同步代码变更问题求助
可行解决方案
1. 强制清理Expo构建缓存
你使用的Expo SDK 33属于较旧版本,存在云构建缓存默认不自动失效的已知问题,打包时必须手动指定清理缓存参数:
- 终止所有当前运行的Expo进程后,执行对应平台的构建命令时添加
--clear-cache参数:
# Android 构建 expo build:android --clear-cache # iOS 构建 expo build:ios --clear-cache
2. 全链路清理本地残留缓存
按顺序执行以下命令清理所有本地缓存:
# 删除依赖锁文件和依赖文件夹重装 rm -rf node_modules package-lock.json yarn.lock npm install # 清理Expo本地开发缓存 expo r -c # 清理Android原生构建缓存 cd android && ./gradlew clean && rm -rf app/build cd .. # 重置watchman watchman watch-del-all # 清理npm全局缓存 npm cache clean --force
3. 校验配置文件
- 检查
app.json中expo.android.versionCode、expo.version字段数值高于上一次发布的版本,部分打包环境会因为版本号未升级直接复用旧的构建产物 - 确认
app.json中expo.sdkVersion字段值为33.0.0,和项目依赖的SDK版本保持一致,避免版本不匹配导致的资源复用
4. 本地预打包校验
执行本地导出命令确认本地代码本身是最新的:
expo export --public-url .
导出完成后查看dist/bundles目录下的js包,搜索你已经删除的页面的特征字符串,如果没有匹配内容说明本地代码无问题,问题出在构建服务缓存环节,重复执行第一步的带清理缓存参数的构建命令即可。
内容的提问来源于stack exchange,提问作者Bharanitharan Sakthivel
相关产品推荐
相关产品推荐

