For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /zh/docs/mobile/builds.md (or send Accept: text/markdown).
构建和设备验证
区分 Expo 导出成功与可以发布的原生构建。
安装与配置
在执行任何步骤之前,请阅读开始之前 和终端基础知识。这些说明假设您在 VS Code 中打开了完整的 supastack monorepo;它的根 package.json 标记存储库根。在 pnpm 命令中,工作区包是应用程序或共享代码文件夹;在产品中,工作空间是团队的数据容器和安全边界。 corepack pnpm --filter ... 从 monorepo 选择一个包,同时从其根运行命令。如果您仅打开同步的移动或桌面文件夹,则它不包含 Web 后端、Docker 设置或根脚本:从此 monorepo 或可访问的托管服务器运行后端,并使用平台文件夹自己的脚本。环境变量是存储在本地 .env 文件或托管仪表板中的命名设置;更改后重新启动相关应用程序,并将服务器机密保留在 NEXT_PUBLIC_ 和 EXPO_PUBLIC_ 值之外。
1. 在 VS Code 中打开 apps/mobile/eas.json 和 apps/mobile/app.json 以查看开发、预览和生产设置。
2. 使用 corepack pnpm --filter @supastack/mobile exec expo install expo-dev-client 从存储库根添加本机开发客户端。运行 corepack pnpm --filter @supastack/mobile typecheck,然后运行 corepack pnpm --filter @supastack/mobile build 以进行本地 JavaScript 导出。
3. 对于本机测试,请登录您的 Expo 帐户,使用 cd apps/mobile 更改终端文件夹,然后运行 npx eas-cli@latest build --platform android --profiledevelopment。使用ios从任何操作系统请求EAS云iOS构建;需要装有 Xcode 的 Mac 才能运行 iOS 模拟器或本地编译。预期:导出验证 JavaScript 包,并且 EAS 生成可安装的本机开发应用程序。为什么Expo Go无法添加原生库,请参见Expo的开发构建指南。
移动工作空间构建调用其导出脚本。这将验证已配置目标的捆绑;商店签名、分发配置和物理设备验收仍然是单独的工作。
corepack pnpm --filter @supastack/mobile typecheck
corepack pnpm --filter @supastack/mobile test
corepack pnpm --filter @supastack/mobile build要复制的命令
按照注释查看命令在哪个文件夹中运行。如果标记了两个终端,请打开两个终端窗口,并在使用第二个命令时保持第一个命令运行。
# From the monorepo root, install the native development client once:
corepack pnpm --filter @supastack/mobile exec expo install expo-dev-client
corepack pnpm --filter @supastack/mobile typecheck
corepack pnpm --filter @supastack/mobile build
# EAS needs to run where apps/mobile/eas.json is located:
cd apps/mobile
npx eas-cli@latest build --platform android --profile development实现流程
修改移动端使用的共享包之后,运行对应的合约测试。并在目标设备上检查安全区域、键盘行为、文字缩放和减少动态效果的设置。
将本地购买保留在现有的 RevenueCat 边界之后。成功的捆绑不得将 Stripe Checkout 引入移动界面来替代经过验证的本机购买集成。
使用 iOS 或 Android 上的 EAS 开发构建来根据配置的沙箱产品验证 react-native-purchases。 Expo Go 和工作区导出脚本不验证商店交易。
验证与排障
如果 EAS 版本显示 expo-dev-client 丢失,请重复其安装命令并确认 apps/mobile/package.json 现在列出它。从 apps/mobile 运行 EAS,以便找到 eas.json。如果 EAS 报告缺少项目或签名设置,请检查您的 Expo 帐户和项目设置。 Expo Go 和成功导出仍然不测试 StoreKit 或播放计费;使用带有沙箱产品的 EAS 开发版本。云 iOS 构建可以在 Windows 或 Linux 上启动;只有本地 iOS 模拟器/构建工作需要带有 Xcode 的 Mac。
记录验收时使用的设备、构建、API 环境和登录方式。验证深链接返回、会话恢复、权益拒绝和退出登录。将导出成功与商店、设备验收结果分开记录。
当导出通过并且目标是发布时,请按照提交到应用程序商店 - 附带的 eas.json 配置文件和 build:/submit: 脚本将应用程序带到 Google Play 和 App Store。
如果你想继续完成设置,可以阅读《发布到应用商店》。