当前位置: 首页 > news >正文

Expo创建的React Native项目如何在Windows上进行打包


前言

下面是Expo如何在本地进行打包的过程(windows)


eas打包

如果使用云打包,花费时间较多,时间不固定,我自己差不多10分钟,但是很简单,问题较少

步骤

  // 1.登录eas login// 2.eas打包eas build -p android// 3.然后就是漫长的等待终端显示 Build in progress

完成后我们发现,第一次生成的是AAB文件

什么是AAB

.aab 文件(Android App Bundle)是 Google 推出的新格式,用于替代传统的 .apk 文件进行应用发布。.aab 文件并不能直接安装到 Android 设备上。它主要用于上传到 Google Play 商店,由 Google Play 根据设备需求生成和分发 .apk 文件。

转换为apk文件

1、可以使用这个命令直接生成apk文件,然后会有一个二维码,手机扫一下就可以直接安装,或者使用adb打开链接

    //  1.打包eas build -p android --profile preview//  2.使用adb打开链接adb shell am start -a android.intent.action.VIEW -d + 你的链接

2.修改eas.json文件

 "build": {"development": {"developmentClient": true,"distribution": "internal"},"preview": {"distribution": "internal"},"production": {"android": {"buildType": "apk"}}},

然后使用命令

   eas build -p android --profile production

此时会直接生成apk文件,可以下载到电脑
然后使用adb安装到Android

   adb install + 你的apk路径

本地打包

以Windows为例

先安装docker,然后手动创建下面的三个文件

1.Dockerfile

FROM mobiledevops/android-sdk-image:latest# 更新系统并安装 Node.js
RUN apt update && \apt install -y nodejs npm# 安装 pnpm
RUN npm install -g pnpm# 安装 eas-cli 和 expo
RUN pnpm install -g eas-cli expoCOPY ./ /WWW/APP
WORKDIR /WWW/APPENV EXPO_TOKEN= ...          // 这里换为你的token,如果没有去expo官网创建一个
ENV NODE_ENV=productionRUN pnpm installCMD ["eas", "build", "--platform", "android", "--profile", "release", "--local"]

2.docker-compose.yaml

version: "3"
name: build
services:build:build:context: .dockerfile: Dockerfileimage: buildcontainer_name: rnApptty: truestdin_open: truevolumes:- ./:/WWW/APP/

3.eas.json

{"cli": {"version": ">= 10.0.0"},"build": {"development": {"developmentClient": true,"distribution": "internal"},"preview": {"distribution": "internal"},"production": {},"release": {"android": {"buildType": "apk"}}},"submit": {"production": {}}
}

构建

docker-compose up -d

这个过程需要花费几分钟,内心等待一下,如果中途也没有报错,则构建成功,可以运行打包的文件看看是否可以正常运行。

http://www.lryc.cn/news/427737.html

相关文章:

  • 探索Go语言中的结构体:定义和使用
  • Unity Dots学习 (一)
  • C语言刷题日记(附详解)(1)
  • SpringSecurity实现登录功能实战!!!
  • mysql中用一个查询获取多个数据库(模式)和表的计数之和
  • linux patch 的制作方式
  • 白骑士的C#教学进阶篇 2.4 LINQ查询
  • 2024华为OD机试真题- 贪吃的猴子Python-C卷D卷-200分
  • 4-1-2 直流电机(电机专项教程)
  • [图解]用例规约之扩展路径
  • 学习记录第二十八天
  • SpringBoot的事务/调度/缓存/邮件发送和一些Spring知识点总结
  • 透明加密技术
  • 深入理解Faiss:高效向量检索的利器
  • RK3576 芯片介绍
  • Python模块篇(五)
  • 西安旅游系统--论文pf
  • 分享一个思路,使用插桩技术解决慢查询测试问题
  • 【STM32项目】在FreeRtos背景下的实战项目的实现过程(二)
  • javaer快速入门 goweb框架 gin
  • SQL - 数据类型
  • 进程相关知识
  • 萝卜快跑和端到端的自动驾驶(1)
  • 通信原理学习笔记
  • 系统编程---day4
  • 01:电容的什么,各类电容的优缺点
  • Android+Jacoco+code-diff全量、增量覆盖率生成实战
  • 乌龟对对碰在线版
  • 如何更改select option边框颜色和选中的颜色
  • 6. 数据结构—串的匹配算法