本文分别通过expo原生打包+eas云打包的方式说明如何打包expo应用。

一、linux原生打包

1.插件文件(linux):

插件版本下载地址
jdk17.0.15夸克:https://pan.quark.cn/s/b0fc36a3a4b5,提取码:gcHg
gradle8.13夸克:https://pan.quark.cn/s/b0fc36a3a4b5,提取码:gcHg
cmdline-tools19.0夸克:https://pan.quark.cn/s/b0fc36a3a4b5,提取码:gcHg
nvm0.39.7夸克:https://pan.quark.cn/s/b0fc36a3a4b5,提取码:gcHg

2. 最终打包运行环境:

插件版本
jdk17.0.15
gradle8.13
node20.18.3
build-tools35.0.0
ndk27.1.12297006
platform-tools36.0.0
platformsandroid-35

3.安装

  1. 安装jdk:
     // 1.解压jdk
     tar -zxvf OpenJDK17U-jdk_x64_linux_hotspot_17.0.15_6.tar.gz
     // 2.重命名解压后的文件名,并移动到/usr/local目录
     mv jdk-17.0.15+6/ /usr/local/jdk-17.0.15
     // 3.配置环境变量
     vim ~/.bashrc
      export JAVA_HOME=/usr/local/jdk-17.0.15
      export PATH=$JAVA_HOME/bin:$PATH
     // 4.使环境变量生效
     source ~/.bashrc
     // 5.验证是否生效
     java --version
    
  2. 安装node:
      // 1.执行install-nvm.sh,等待安装完成
      chmod +x install-nvm.sh && ./install-nvm.sh
      // 2.验证是否生效
      nvm --version
      // 3.安装nodejs
      nvm install 20.18.3
      // 4.验证node
      node -v
      npm -v
    
  3. 安装gradle:
      // 1.安装解压工具
      yum install unzip -y
      // 2.解压文件
      unzip gradle-8.13-bin.zip
      // 3.移动解压后文件到android sdk目录下
      mkdir -p /root/Android/Sdk
      mv gradle-8.13 /root/Android/Sdk
      // 4.配置环境变量
      vim ~/.bashrc
        export GRADLE_HOME=/root/Android/Sdk/gradle-8.13
        export PATH=$PATH:/root/Android/Sdk/bin
      // 5.使环境变量生效
      source ~/.bashrc
      // 6.验证安装
      gradle --version
    
  4. 安装cmdline-tools:
      // 1.安装解压工具(如未安装)
      yum install unzip -y
      // 2.解压文件
      unzip cmdline-tools.zip
      // 3.移动解压后文件到android sdk目录下
      mv cmdline-tools /root/Android/Sdk/
      // 4.配置环境变量
      vim ~/.bashrc
        export ANDROID_HOME=/root/Android/Sdk
    	export PATH="$PATH:$ANDROID_HOME/cmdline-tools/latest/bin"
      // 5.使环境变量生效
      source ~/.bashrc
      // 6.验证安装
      sdkmanager --version
      // 输入sdkmanager --list 查看可安装列表
      // 安装cmake
      sdkmanager "cmake;3.22.1"
      // 安装build-tools
      sdkmanager "build-tools;35.0.0"
      // 安装ndk
      sdkmanager "ndk;27.1.12297006"
      // 安装platform-tools
      sdkmanager "platform-tools"
      // 安装platforms
      sdkmanager "platforms;android-35"
      // 输入sdkmanager --list 查看已经安装列表
    
  5. 打包apk
      // 1.使用expo创建react native项目
      cd /root
      npx create-expo-app@latest expo-demo
      // 2.开始预构建
      cd expo-demo
      npx expo prebuild --no-install --platform android
      // 3.绑定js
      npx expo export:embed --eager --platform android --dev false
      // 4.开始打包(首次打包需要下载依赖,依赖来自己国外仓库,故时间较长)
      cd android
      chmod +x gradlew && ./gradlew :app:assembleRelease
      // 5.打包后apk地址
      ./app/build/outputs/apk/release/app-release.apk
    
  6. 截图
环境截图

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/0f2c1c3047d44545b75e7ca94e7ed0d4.png

apk路径截图

在这里插入图片描述

打包后apk运行截图

在这里插入图片描述

二、eas云打包

云打包所需要的是node环境,故只需要安装nodejs,可以参考原生打包安装node20。

1.创建项目

 // 创建项目
npx create-expo-app@latest

2.安装eas客户端

// 全局安装eas客户端,并且登录expo账号,账号可以登录expo官网https://expo.dev注册
npm install -g eas-cli && eas login
npx expo install expo-dev-client

3.eas云构建

// 1.初始化eas构建
eas init
// 2.修改eas.json, 在production下增加配置如下
"android": {
    "buildType": "apk"
}
// 3.开始推送给eas云构建
eas build --platform android --profile development

查看构建日志

登录expo官网查看构建日志。
在这里插入图片描述

在这里插入图片描述

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐