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

Expo v52预览APK中如何实现构建后可配置EXPO_PUBLIC_API_URL用于本地测试?

Expo v52预览APK中如何实现构建后可配置EXPO_PUBLIC_API_URL用于本地测试?

嘿,我来帮你搞定这个问题!首先得明确一点:默认的EXPO_PUBLIC_*环境变量是构建时就嵌入到APP代码里的,构建完成后就没法直接修改了。不过针对你的本地测试需求,有几个实用的方案可以让你不用重新打包APK就能修改API地址,下面一步步给你讲:

方案1:本地静态配置文件(最适合本地测试,灵活度拉满)

这个方法是把API地址放在一个可直接修改的本地文件里,APP运行时读取这个文件的内容,步骤超简单:

  1. 在你的项目根目录下创建一个assets/env.json文件,内容如下:
    {
      "EXPO_PUBLIC_API_URL": "http://192.168.57.53:3000/api"
    }
    
  2. 在APP代码里读取这个文件的内容,比如在你的主入口文件(比如App.js)里:
    import envConfig from '../assets/env.json';
    const API_URL = envConfig.EXPO_PUBLIC_API_URL;
    // 之后直接用API_URL发起请求就行
    
  3. 构建预览APK后,你可以用解压工具(比如WinRAR、7-Zip)打开APK包,找到assets/env.json文件,直接修改里面的URL,然后重新把文件打包回APK。

    注意:如果是Debug版预览APK,修改后只需要重新打包就能安装;如果是Release版,可能需要重新签名,但本地测试用Debug版就足够了。

方案2:用EAS Update远程更新(适合需要快速切换环境的场景)

如果你不仅想本地改,还希望能远程给测试设备推送新的API地址,可以用Expo的EAS Update功能——它能在不重新安装APK的情况下,推送JS代码和配置更新:

  1. 先初始化EAS Update:
    eas update:configure
    
  2. 在eas.json的preview构建配置里,设置环境变量关联EAS Secrets:
    {
      "build": {
        "preview": {
          "env": {
            "EXPO_PUBLIC_API_URL": "$EXPO_PUBLIC_API_URL"
          },
          "distribution": "internal",
          "android": {
            "buildType": "apk"
          }
        }
      }
    }
    
  3. 把你的API地址添加到EAS Secrets里(这样不用把敏感信息提交到代码库):
    eas secret:create --name EXPO_PUBLIC_API_URL --value "http://192.168.57.53:3000/api"
    
  4. 构建预览APK:
    eas build --platform android --profile preview
    
  5. 之后要修改API地址时,不用重新构建APK,只需要更新EAS Secrets的值,然后推送一个更新:
    eas update --branch preview --message "更新API地址"
    
    测试设备上的APP会自动拉取更新,用上新的API地址。

关于EAS Secrets的说明

你提到的EAS Secrets是用来存储敏感环境变量的,但它是构建时注入到APP里的,构建完成后就没法直接修改了。不过搭配EAS Update的话,你可以通过推送更新的方式,让APP加载新的环境变量值,相当于间接实现了“动态修改”。

第一次构建预览APK的完整步骤

因为你还没构建过APK,这里给你走一遍流程:

  1. 安装EAS CLI:
    npm install -g eas-cli
    
  2. 登录你的Expo账号:
    eas login
    
  3. 初始化项目的EAS配置:
    eas build:configure
    
  4. 按照上面的方案配置好API地址的读取方式,然后执行构建命令:
    eas build --platform android --profile preview
    
    构建完成后,你会收到下载APK的链接,直接安装到测试设备即可。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.08 08:33:04