React Native:使用 Expo CLI 构建 apk 文件

mdi*_*ain 6 android-studio react-native expo

我是这个平台的新学员。
我使用 expo 编写了一个简单的 React Native 应用程序。但我想构建一个 .apk 文件。
我尝试了这个命令:

expo build:android
Run Code Online (Sandbox Code Playgroud)

然后我注册了一个博览会帐户。完成构建过程后,它会显示下载按钮。
就像下面这张图一样:在此输入图像描述但它不是 apk 文件。它是 .aab 文件。
所以,我想构建一个实际的 apk 文件。
我怎样才能做到这一点?

z9f*_*9fr 6

要从文件中构建 apk,首先您需要对您的eas.json文件进行一些更改。

默认情况下,EAS Build 生成 Android App Bundle,您可以通过以下方式更改它:

  • 设置buildTypeapk
  • 设置developmentClienttrue
  • 将 gradleCommand 设置为:app:assembleRelease:app:assembleDebug或任何其他生成 APK 的 gradle 命令

更改配置后,您可以运行eas build -p android --profile preview来构建应用程序

您可以在文档中阅读更多相关信息 https://docs.expo.dev/build-reference/apk/

这是我用于构建基本项目的示例配置(您也可以在文档中找到)

{
  "cli": {
    "version": ">= 0.52.0"
  },
  "build": {
    "preview": {
      "android": {
        "buildType": "apk"
      }
    },
    "preview2": {
      "android": {
        "gradleCommand": ":app:assembleRelease"
      }
    },
    "preview3": {
      "developmentClient": true
    },
    "production": {}
  }
}
Run Code Online (Sandbox Code Playgroud)

--

另外,另一种可能的方法是获取捆绑包(.aab)文件并使用类似的捆绑工具将其转换为 apk。你可以在app.apks中找到apk(universal.apk)

bundletool build-apks --bundle=bundle.aab --output=app.apks --mode=universal 
Run Code Online (Sandbox Code Playgroud)

https://github.com/google/bundletool


小智 1

来自expo文档:当构建android时,您可以选择构建APK(expo build:android -t apk)或Android App Bundle(expo build:android -t app-bundle)。