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

未安装EAS的Expo RN项目生成Android .aab的相关疑问

解答

为什么npx expo run:android --variant release生成APK而非AAB?

Expo的run:android命令默认调用Gradle的assembleRelease任务,这个任务的输出就是APK安装包。而生成AAB需要触发专门的bundleRelease任务——这是Gradle为Google Play分发准备的打包逻辑,Expo的默认命令未指定该任务,所以输出的是APK。

是否必须使用EAS才能生成AAB?

完全不用。无需EAS的情况下,有两种可靠方式生成AAB:

  • 直接在项目根目录执行./gradlew bundleRelease(Windows环境用gradlew.bat bundleRelease),完成后AAB文件会存放在android/app/build/outputs/bundle/release/目录下。
  • 给expo run:android命令指定gradle任务:npx expo run:android --variant release --gradle-task bundleRelease,这样会直接触发bundle打包流程,生成AAB。

能否在app.json中指定buildType属性来强制生成AAB?

app.json本身没有直接的buildType属性可以指定生成AAB,但你可以通过expo-build-properties插件配置Gradle的构建行为,或者直接修改android/app/build.gradle文件:

  • 先安装插件:npx expo install expo-build-properties
  • 在app.json的plugins数组中添加配置,示例如下:
{
  "plugins": [
    [
      "expo-build-properties",
      {
        "android": {
          "gradleExtra": "android.applicationVariants.all { variant -> if (variant.name == 'release') { variant.outputs.all { output -> output.outputFileName = \"app-release.aab\" } } }"
        }
      }
    ]
  ]
}

不过实际使用中,直接调用bundleRelease任务会更简单,没必要额外配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 03:59:56