新闻详情

新闻详情

首页 / 资讯中心 / 详情

Ignite 原生 Android 工程指南:manual 工作流下的 android 目录与 CNG 取舍

发布时间:2026/9/13 4:26:29来源:尧图网络
Ignite 原生 Android 工程指南:manual 工作流下的 android 目录与 CNG 取舍
Ignite 原生 Android 工程指南manual 工作流下的 android 目录与 CNG 取舍【免费下载链接】igniteInfinite Reds battle-tested React Native project boilerplate, along with a CLI, component/model generators, and more! 9 years of continuous development and counting.项目地址: https://gitcode.com/GitHub_Trending/ig/ignite导读本文围绕 Ignite 官方文档 docs/boilerplate/android.md 展开系统讲解在创建新应用时选择manual工作流或执行pnpm prebuild:clean后项目根目录出现的android原生工程的结构、生成方式、与 Expo CNGContinuous Native Generation工作流的取舍以及如何用 Android Studio 调试、用 EAS 构建 Android 应用。读完本文你将掌握 Ignite 项目中 Android 原生层的来源、改法与运行调试的全流程。android 目录从哪里来manual 工作流与 prebuild在 Ignite 中创建新应用时可以选择如何管理原生代码。CLI 会在交互过程中弹出如下选择见 src/commands/new.tsVia Expos Continuous Native Generation - Recommended [Default]即cng默认选项Manual - commits android/ios directories即manualcng是默认工作流原生目录不提交到版本库由 Expo Prebuild 在构建时按需生成。而选择manual时android以及对应的ios目录会被创建并保留在项目根目录作为可直接提交、可直接用 IDE 打开的真·原生工程。从源码看manual 工作流还会从.gitignore中移除android和ios两行使原生目录纳入版本控制见 src/commands/new.ts。即使最初选择了cng在项目根目录执行以下命令也会重新生成并保留原生目录pnpm prebuild:clean该命令在 boilerplate/package.json 中定义为npx expo prebuild --clean。--clean会删除并重建原生工程确保原生目录与当前的app.json/app.config.ts配置严格一致。这个 android 目录是什么android目录是一个已针对 React Native 预先配置好的 Android Studio 工程。它并非空壳而是由 Expo Prebuild 依据项目配置自动生成的原生 Gradle 工程包含app、gradle、build.gradle、settings.gradle等标准结构可直接被 Android Studio 打开在模拟器或真机上运行。生成它的配置来源有两个文件静态配置 boilerplate/app.json其中的android字段定义了应用标识与图标资源例如package包名com.helloworld、icon./assets/images/app-icon-android-legacy.png、adaptiveIcon前台/背景自适应图标、allowBackup: false、edgeToEdgeEnabled: true等顶层还声明了newArchEnabled: true新架构与jsEngine: hermesHermes 引擎这些都会直接影响生成的 Gradle 配置。动态配置 boilerplate/app.config.ts通过module.exports动态合并ios与plugins等字段是 TypeScript 形式的扩展配置入口。也就是说对android目录的手工改动本质上是在生成结果上打补丁。这正是下一节要讨论取舍的原因。官方推荐优先使用 Expo CNG原文档明确给出建议一般情况下推荐使用 Expo CNGContinuous Native Generation工作流详见 docs/expo/CNG.md。CNG 与手动管理原生目录相比核心优势有三点无需直接与 Gradle 和 CocoaPods 打交道原生构建脚本由 Expo Prebuild 自动维护升级成本显著降低由于没有手改的原生代码挡路React Native / Expo 升级时不会因原生层冲突而阻塞生态支持完善大量流行库都有现成的 config plugin必要时也可以自行编写 config plugin 来自动生成原生配置。而manual工作流的适用场景是你确实需要手工修改原生代码。此时保留android目录直接编辑即可。用 Android Studio 运行与调试原生代码无论目录来自 manual 工作流还是prebuild:clean它的用法与其他 React Native 项目完全一致用 Android Studio 打开项目根目录下的android文件夹等待 Gradle 同步完成选择一个模拟器AVD或连接真机点击 Run 运行应用调试原生代码时可参考 React Native 官方文档中Debugging native code一节在 Android Studio 中为 Java/Kotlin 代码设置断点、附加调试器。除此之外Ignite 在 boilerplate/package.json 中为 Android 日常开发准备了一组脚本# 在设备上安装并启动开发版应用等效 expo run:android pnpm android # 将 Metro、Reactotron 等端口反向转发到真机便于真机调试 pnpm adbadb脚本实际执行的是adb reverse tcp:9090 tcp:9090 adb reverse tcp:3000 tcp:3000 adb reverse tcp:9001 tcp:9001 adb reverse tcp:8081 tcp:8081覆盖了 Reactotron9090、常用本地服务3000/9001与 Metro8081是真机调试的常用前置步骤。用 EAS 构建 Android 应用当原生目录就绪后还可以借助 Expo Application ServicesEAS在本地或云端构建 Android 安装包。Ignite 在 boilerplate/eas.json 中预置了多种构建 profile并配套了对应的 npm 脚本脚本对应 EAS profile用途build:android:simdevelopment模拟器可用的开发版Gradle 命令为:app:assembleDebugbuild:android:devicedevelopment:device真机可用的开发版build:android:previewpreview内部分发的预览版buildType: apkbuild:android:prodproduction面向商店的生产版以本地构建开发版为例pnpm build:android:sim # 等价于 eas build --profile development --platform android --local对于原生层存在手工定制的项目这种构建流程与manual工作流天然契合——因为构建所需的正是在android目录中手工调整过的工程。小结android目录是 Ignite 项目在 manual 工作流或prebuild:clean下生成的原生 Android Studio 工程预配置齐全、可直接运行与调试。日常开发中Ignite 更推荐 CNG 工作流以避免直接维护 Gradle只有需要手工定制原生代码时才保留该目录。若需继续深入可阅读 docs/boilerplate/ios.mdiOS 侧对应工程、docs/expo/CNG.mdCNG 工作流详解或在 boilerplate/app.json 与 boilerplate/app.config.ts 中查看驱动原生生成的完整配置。【免费下载链接】igniteInfinite Reds battle-tested React Native project boilerplate, along with a CLI, component/model generators, and more! 9 years of continuous development and counting.项目地址: https://gitcode.com/GitHub_Trending/ig/ignite创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

如何用 OpenZeppelin Contracts MerkleProof 在链上验证白名单 Merkle 证明? 2026/9/13 5:02:36

如何用 OpenZeppelin Contracts MerkleProof 在链上验证白名单 Merkle 证明?

如何用 OpenZeppelin Contracts MerkleProof 在链上验证白名单 Merkle 证明? 【免费下载链接】openzeppelin-contracts OpenZeppelin Contracts is a library for secure smart contract development. 项目地址: https://gitcode.com/GitHub_Trending/op/openzepp…

阅读更多 →
PixPin:智能截图工具的技术创新与应用实践 2026/9/13 5:02:36

PixPin:智能截图工具的技术创新与应用实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
AI教育轻创模式:构建可持续管道收入的四大要素 2026/9/13 5:02:36

AI教育轻创模式:构建可持续管道收入的四大要素

1. AI教育轻创合伙人模式的核心价值解析最近两年,AI教育领域的轻创业模式突然成为热门话题。这种模式之所以能快速崛起,关键在于它解决了传统教育行业的三个痛点:高门槛、重资产和低边际效益。通过AI技术赋能,普通人可以零成本启动…

阅读更多 →
QMK Firmware 2022 年 2 月 26 日破坏性变更解读:1kHz 轮询、分体指点设备与键盘目录重构实战指南 2026/9/13 5:02:36

QMK Firmware 2022 年 2 月 26 日破坏性变更解读:1kHz 轮询、分体指点设备与键盘目录重构实战指南

QMK Firmware 2022 年 2 月 26 日破坏性变更解读:1kHz 轮询、分体指点设备与键盘目录重构实战指南 【免费下载链接】qmk_firmware Open-source keyboard firmware for Atmel AVR and Arm USB families 项目地址: https://gitcode.com/GitHub_Trending/qm/qmk_firm…

阅读更多 →
智能井盖系统毕设实战:从传感器到MQTT告警全流程解析 2026/9/13 5:02:36

智能井盖系统毕设实战:从传感器到MQTT告警全流程解析

简介:智能井盖系统V1.0是一套面向毕业设计与课程作业的完整项目源码,聚焦城市基础设施管理中井盖状态监测、异常报警与可视化监控场景,适合计算机类、人工智能方向学生用于学习物联网与AI融合落地。压缩包共803个文件,约11.19MB&a…

阅读更多 →
LeetCode-Go 题解 | 1720. Decode XORed Array:异或编码数组的前缀递推解码实战 2026/9/13 4:59:36

LeetCode-Go 题解 | 1720. Decode XORed Array:异或编码数组的前缀递推解码实战

LeetCode-Go 题解 | 1720. Decode XORed Array:异或编码数组的前缀递推解码实战 【免费下载链接】LeetCode-Go ✅ Solutions to LeetCode by Go, 100% test coverage, runtime beats 100% | LeetCode 题解 项目地址: https://gitcode.com/GitHub_Trending/le/Leet…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞