yarn global add eas-cli
expo login

expo 创建react native项目,如何打包apk_android

eas build:configure
eas build --platform android

expo 创建react native项目,如何打包apk_Android_02

 https://expo.dev/accounts/xutongbao

expo 创建react native项目,如何打包apk_Google_03

 

expo 创建react native项目,如何打包apk_Google_04

expo 创建react native项目,如何打包apk_Google_05

 

expo 创建react native项目,如何打包apk_android_06

expo 创建react native项目,如何打包apk_Android_07

 

expo 创建react native项目,如何打包apk_Android_08

aab包简介

Google Play商店从 2021 年 8 月起,新应用发布需要使用Android App Bundle 才能在 Google Play中发布。

Android App Bundle 是 Android 新推出的一种官方发布格式,即.aab格式,其中包含应用的所有经过编译的代码和资源,它会将 APK 生成及签名交由 Google Play 来完成。.aab格式可以更高效的开发和发布应用,以更小的应用提供优质的使用体验,从而提升安装成功率并减少卸载量,.aab格式还可以体验模块化应用开发和可自定义功能交付。

aab包对比apk包优势在于,Google Play 会使用 app bundle 针对每种设备配置生成并提供经过优化的 APK,因此只会下载特定设备所需的代码和资源来运行应用。而不必根据机型64位还是32位再构建、签署和管理多个 APK 来优化对不同设备的支持,用户也可以获得更小且更优化的下载文件包。

打包APK文件

eas build -p android --profile preview

https://docs.expo.dev/build-reference/apk/

expo 创建react native项目,如何打包apk_Android_09

 

expo 创建react native项目,如何打包apk_Android_10

 

expo 创建react native项目,如何打包apk_Android_11

 

expo 创建react native项目,如何打包apk_Google_12

expo 创建react native项目,如何打包apk_android_13

 

expo 创建react native项目,如何打包apk_Google_14

 

expo 创建react native项目,如何打包apk_Android_15

打包时设置环境变量:

https://docs.expo.dev/build-reference/variables/

expo 创建react native项目,如何打包apk_Android_16

 

expo 创建react native项目,如何打包apk_Android_17

 

expo 创建react native项目,如何打包apk_android_18

app.config.js:

export default {
  name: 'learn',
  version: '1.0.0',
  extra: {
    REACT_APP_MODE: 'prod',
    eas: {
      projectId: '6a51f2c5-40ab-4ef5-bbf8-530ea443696c',
    },
  },
  android: {
    package: 'com.yourcompany.learn',
    versionCode: 1,
  },
  ios: {
    bundleIdentifier: 'com.yourcompany.yourappname',
  },
}

eas.json:

{
  "cli": {
    "version": ">= 0.49.0"
  },
  "build": {
    "preview": {
      "android": {
        "buildType": "apk"
      },
      "env": {
        "REACT_APP_MODE": "prod"
      }
    },
    "preview2": {
      "android": {
        "gradleCommand": ":app:assembleRelease"
      }
    },
    "preview3": {
      "developmentClient": true
    },
    "production": {}
  },
  "submit": {
    "production": {}
  }
}

expo 创建react native项目,如何打包apk_android_19

expo 创建react native项目,如何打包apk_Android_20

参考链接:


https://docs.expo.dev/build/setup/

https://docs.expo.dev/build-reference/apk/