惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

云风的 BLOG
云风的 BLOG
有赞技术团队
有赞技术团队
Simon Willison's Weblog
Simon Willison's Weblog
人人都是产品经理
人人都是产品经理
L
LINUX DO - 最新话题
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
A
Arctic Wolf
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
小众软件
小众软件
Jina AI
Jina AI
The Cloudflare Blog
P
Palo Alto Networks Blog
AWS News Blog
AWS News Blog
阮一峰的网络日志
阮一峰的网络日志
C
Cybersecurity and Infrastructure Security Agency CISA
Know Your Adversary
Know Your Adversary
T
Threat Research - Cisco Blogs
L
Lohrmann on Cybersecurity
NISL@THU
NISL@THU
G
GRAHAM CLULEY
Project Zero
Project Zero
博客园_首页
博客园 - 三生石上(FineUI控件)
罗磊的独立博客
Spread Privacy
Spread Privacy
WordPress大学
WordPress大学
Hugging Face - Blog
Hugging Face - Blog
Latest news
Latest news
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Cisco Blogs
C
Cyber Attacks, Cyber Crime and Cyber Security
T
Tor Project blog
S
Securelist
V
Vulnerabilities – Threatpost
T
The Exploit Database - CXSecurity.com
C
CERT Recently Published Vulnerability Notes
IT之家
IT之家
Google DeepMind News
Google DeepMind News
爱范儿
爱范儿
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Last Watchdog
The Last Watchdog
T
Tenable Blog
宝玉的分享
宝玉的分享
S
Secure Thoughts
P
Privacy & Cybersecurity Law Blog
量子位
大猫的无限游戏
大猫的无限游戏
J
Java Code Geeks
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Security Archives - TechRepublic
Security Archives - TechRepublic

React

react 的旧文档网站,切换语言到中文,直接跳到新文档?? - V2EX react 这个技术栈到底是如何做到每天都有新发现的? 除了 next.js,在 2026 年,还有哪些 React 全栈框架推荐? - V2EX React 列表虚拟化如何实现使用 CSS Grid 布局的同时支持拖动元素? - V2EX 想不通, React 现代框架的设计者,为什么内置的 onClick 不默认防抖? - V2EX 关于低代码的选型,请佬们帮我分析一下 - V2EX 将 Markdown 文件导入为 React 组件 - 写作文档,即时获取交互式演示 - V2EX 现代 React 应用卡顿的主要原因是什么?组件库 vs 重渲染机制 - V2EX 前端开发进军 server 端还是问题很多 - V2EX 问一下, expo react native 的 TextInput 在小米系统下,显示有问题。大家有遇到么,如何解决。 - V2EX React Suite v6:面向现代化的稳健升级 - V2EX 各位总们,开发兼容到 ios 11 的 APP, RN 推荐吗 - V2EX expo-image 在使用时候必须要加 style 属性 ? - V2EX 佬们, 咨询一个前端 React 的开发效率问题, 就是如果想快速实现一个界面组件的效果,只需要 render 部分, 有什么好用的工具吗? - V2EX 2025 快过完了,有 ssr 需求的项目现在最佳选择是什么? - V2EX 在 react 中使用 signals 库 - V2EX react charts 技术选型 - V2EX 一个 RN 小游戏代码修改的活 - V2EX 为什么 React-Native 总是昨天还能编译,今天就报错了 - V2EX React 19 下有什么方便点的组件? Arco Design 用起来还是有些问题 时隔多年再次用 react,请问 ahooks 的 useMemoizedFn 和 react 内置的 useEffectEvent 有什么异同? - V2EX 来个专业写 移动 web 前端的, React - V2EX 谁有闲工夫, React,帮忙定位并处理下 BUG react antd 就是包了巧克力的屎 - V2EX 提问一个 React 的问题 React 多人开发怎么确保性能,有没有最佳实践 - V2EX zustand create 出来的 useStore,需不需要 destory? - V2EX 关于 React: - V2EX Metis UI:下一代 React 组件库,重新定义前端开发体验 - V2EX React 组件库 Gluestack 出现多个恶意软件包 gpt 给我搞懵了,是我对 Suspense 理解有误吗? 有用 LiveKit 开发过视频语音会议系统的嘛 - V2EX RN 怎么构建输出 Java 的原生工程啊? 大佬们,有没有好用的 react.js 画布组件? 技术文章翻译: React 协调机制 - V2EX 不知道是 react 不行还是阿里不行, 或者是我电脑不行? 访问阿里云卡卡的.滚动一愣一愣的. 不敢相信在 2025,怎么自己 build/bundle + self-host 一个 ESM 版本的 react.js 和 react-dom.js 也是一个找不到官方答案的问题。问了 AI,答案也不靠谱 - V2EX 有没有熟悉 react native 的老哥,求帮忙看个问题 - V2EX React 写的越多,就越想直接操作 DOM - V2EX react native 有类似 antd/x 的 ai 对话组件库吗 - V2EX react 最佳技术栈是什么? - V2EX 是不是都用 expo-image 了,分享下 react-native-turbo-image - V2EX 用 AI 写了个 react 的资讯网站,才发现 SEO 很差,怎么办 - V2EX 反思,我写的前端的 react 味是不是太重了 - V2EX 小白求助,React 项目无法修改 - V2EX 被 antd 惯坏了,别的组件库用的很难受,大家有这种感觉吗? - V2EX React 学习曲线要比 Vue 陡峭许多呀 - V2EX 请教一个关于 useEffect 依赖的问题 - V2EX 请教一个 react native FlatList 的问题 - V2EX
折腾了好几天总算在 windows 系统本地打包 expo 项目出 apk 了,分享下经验 - V2EX
HMYang33 · 2025-09-15 · via React

创建项目和写代码就不说了,主要说一下大部分视频教程未提及的打包部分

主流都是在推荐 eas 云打包,不仅排队时间长,还总是排了老长的队又很容易出错,有时甚至是云打包所用的机器网络差点意思导致依赖安装失败了。就断掉整个打包流程。然后你就需要重新排队打包。不出意外又要排队两个小时。有点离谱。

eas 也支持--local 参数进行本地打包,但是本地打包还要登录 eas 账号,没一点代码安全感。很离谱。

不仅没安全感,就算你登上了,也会提示你 windows 不支持。离离原上谱。

如果使用 windows subsystem for linux 又会大概率牵扯出不会正确使用 WSL 的各种疑惑。而且 expo 文档上也不会告诉你怎么通过 wsl 打包,因为 expo 团队就没想着兼容 windows 平台,也不会给你测试 wsl 能不能正常用于打包。

有没有安全且方便的 windows 系统的打包 expo 项目的 apk 的方式呢,有的兄弟有的

1.下载并安装 Android Studio

https://r3---sn-i3b7knlk.gvt1.com/edgedl/android/studio/install/2025.1.3.7/android-studio-2025.1.3.7-windows.exe

打开 exe 文件,跟着安装向导下一步下一步...

2.Android Studio 初次运行需要下载的东西

打开安装好的 Android Studio ,

点击不给谷歌发送使用数据,

提示需要下载 SDK 和安卓模拟器,下一步到 License 界面,会展示 android-sdk 的许可内容,点下面接受的单选按钮

点击左侧 android-sdk-preview-license 查看第二个许可内容,再点下面的接受单选按钮

SDK 和安卓模拟器的下载需要消耗 50 分钟(我的网速是 1.7MB/s)

时间宝贵,你可以先干点别的。

下载好了就重启一次电脑

感觉内存不够用的可以打开虚拟内存(推荐勾选“自动管理所有驱动器的分页文件大小”)。

3.在你的项目目录安装 node modules 并进行预构建

使用 npm ci 强制使用 package-lock.json 的依赖清单安装依赖

使用 npx expo prebuild 构建出 android 工程目录

4.使用 Android Studio 打开构建出的 android 工程目录

打开之后自动执行更新索引和下载项目的依赖包,这一步耗时70 分钟(我用的 4 核 CPU ,网速是 1.7MB/s)

再次提醒,时间宝贵,你可以先干点别的。

5.1 打包出调试基座

点击左上角三个横线,鼠标放到 Build ,再放到二级菜单的 Generate App Bundles or APKs,点击 Generate APKs

这一步同样耗时巨大,需要60 分钟

5.2 打包出生产 APK

点击左上角三个横线,鼠标放到 Build ,点击 Generate Signed App Bundle or APK

选择 APK 单选框,下一步要求你使用签名,有的话就选创建好的,没有的话就创建新的

再下一步,在 debug 和 release 之间选择 release ,点蓝色的 create 按钮。大部分依赖都在制作调试基座时缓存过了,所以这次打包大概五分钟后就生成好了

5.2.1 创建新签名文件

找个存放秘密的好地方,新建文本文件,并改名成后缀为 jks 的文件如 xxx 的签名.jks

在 Android Studio 里面点 create new..., 第一个输入框是填你刚刚创建的 jks 文件路径,可以点击输入框右侧的文件夹图标选取你的 jks 文件。

Validity Years 是签名有效时长多少年,如果过了这个时间需要重新制作签名。因签名文件变化也会导致老版本无法升级成新版本。只能卸载重装为新版。

剩下的输入框如果没什么特别的安全性要求,无脑都写一样的就能用。如果有应用安全的要求就好好写。

注意事项

引入新的原生模块时需要重新制作调试基座,因为旧的调试基座不包含这部分新的原生代码。

要用的系统权限需要在 app.json 里面提前列出来,并打入调试基座,否则代码里直接请求获取权限会得到 never ask again(拒绝且不再询问)

顺带吐槽一下 Android studio 是真的很占磁盘,搞完这一套流程就占用我 25GB ,就算安装到别的盘,也会吃掉 C 盘大约 10GB 的空间