从0到1搭建一个RN应用从开发测试到上架全流程

前言

本文从0到1搭建一个RN项目,包含开发、调试、上架全流程,以及记录开发中的问题解决方案,本文不涉及代码相关的问题;

工具

Expo go :用于开发预览调试使用需要梯子在google play下载app
VSCode :代码编辑器;
梯子:自行准备梯子

项目构建

bash 复制代码
# 新建一个文件夹
RNobject
# 进入文件夹
cd RNobject
# 使用expo创建项目
npx create-expo-app@latest 项目名//例如:rnapp
# 项目构架成功进入工程目录
cd rnapp
# 启动项目
npm start

关于Expo go扫码预览本地启动项目的rn项目预览失败

问题描述 :使用npm start启动成功后用Expo go APP扫码后会报错

如图所示:

解决方法 开启隧道模式:npx expo --tunnel在同一Wi-Fi网络下注释:启动比较慢

相关工具包推荐

路由 :expo-router
状态管理 :Redux DevTools
UI库 :自行搜索(例如 React Native Paper)
请求方式 :常用的 axios、fetch
其他: ......

expo go调试

  • 使用expo go 摇晃手机即可调查控制台
  • 点击open js debugger即可调查桌面控制台
  • 进行调试

RN项目打包上线

  • 注册 Expo 账号
  • 下载easnpm install -g eas-cli
  • 登录账号eas login:输入账号密码
  • 项目生成配置项目eas build:configure
csharp 复制代码
# 项目中会生成eas.json
{
  "cli": {
    "version": ">= 16.1.0",
    "appVersionSource": "remote"
  },
  "build": {
    "development": {
      "developmentClient": true,
      "distribution": "internal",
      "channel":"development"//添加
    },
    "preview": {
      "distribution": "internal",
      "channel":"preview"//添加
    },
    "production": {
      "channel": "production"//添加
    }
  },
  "submit": {
    "production": {}
  }
}
# 生成的配置文件修改如上图

构建 Android 应用

bash 复制代码
# 构建指令
eas build --platform android --profile preview
# 说明
构建完成后,可以通过 Expo 提供的链接下载生成的 APK 文件

构架成功如图所示

我们也可以在expo网站中查看:如图所示

  • 把apk文件提交应用商店 把生成的apk上架到google play
  • 补充说明(可选):如何需要生成android代码目录npx expo prebuild
  • 热更新配置(可选)
bash 复制代码
# 在app.json中配置如下
{
  "expo": {
    "updates": {
      "fallbackToCacheTimeout": 0,
      "url": "https://u.expo.dev/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    }
  }
}

总结

以上就是从0到1搭建一个RN应用从开发测试到上架全流程,以及记录开发中的问题解决方案,以及相关工具包的推荐;

相关推荐
PedroQue9914 分钟前
0.5.0重磅发布:动画插件+H5体验全面优化
前端·uni-app
金虹桥程序员18 分钟前
【动画】 📚 CSS 动画与 GPU 合成层优化全链路指南
前端·面试
又见情义21 分钟前
RK3568 Android 13 版本号管理实战:基于 ROCKCHIP_BUILD_NUMBER 的定制化方案
android
程序员老赵22 分钟前
Docker 部署填鸭表单完整教程:搭建私有化问卷与表单收集平台
前端·docker·开源
终端安全笔记32 分钟前
iOS 27 强制 TLS 1.2:租赁设备的注册链路会在哪一环断
android·网络·安全·ios·智能手机
无限压榨切图仔37 分钟前
向量库能搜到内容,为什么还不算学会 RAG
前端·agent
mmsx37 分钟前
MapLibre 实战 11|用户说"我的地块丢了":一个 sealed class 图层模型,和四个让我重构三版的坑
android·前端·开源
xqchen40 分钟前
代码差异可视化方案选型:diff2html 实战指南
前端
名字还没想好☜42 分钟前
用 Zustand 做 React 全局状态管理:告别 Context 重渲染,3 个实战模式与持久化
前端
IMPYLH1 小时前
HTML 的 <section> 元素
前端·html