React Native 0.74 热更新:开源移动端项目 CodePush 实现(无需应用商店审核)配置
CodePush 是微软提供的开源热更新方案,支持 React Native 应用绕过应用商店审核直接更新代码。通过以上步骤,您的 React Native 0.74 应用即可实现免审核热更新,大幅提升迭代效率。记录生成的部署密钥(
·
React Native 0.74 热更新:CodePush 配置指南
CodePush 是微软提供的开源热更新方案,支持 React Native 应用绕过应用商店审核直接更新代码。以下是针对 React Native 0.74 的完整配置流程:
一、环境准备
-
安装 CodePush CLI
全局安装命令行工具:npm install -g code-push-cli -
注册 CodePush 账号
code-push register # 浏览器登录微软账号授权 code-push login # 关联本地环境
二、项目集成
-
安装 React Native SDK
在项目根目录执行:npm install react-native-code-push -
Android 配置
- 修改
android/app/build.gradle:apply from: "../../node_modules/react-native-code-push/android/codepush.gradle" - 在
android/settings.gradle添加:include ':react-native-code-push' project(':react-native-code-push').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-code-push/android/app')
- 修改
-
iOS 配置
- 修改
ios/Podfile:pod 'CodePush', :path => '../node_modules/react-native-code-push' - 执行更新:
cd ios && pod install
- 修改
三、初始化 CodePush 应用
-
创建平台应用
code-push app add MyApp-Android android react-native code-push app add MyApp-iOS ios react-native记录生成的部署密钥(
Production和Staging)。 -
配置密钥
- Android:在
MainApplication.java添加:@Override protected List<ReactPackage> getPackages() { return Arrays.asList( new CodePush("DEPLOYMENT_KEY", getApplicationContext(), BuildConfig.DEBUG), // 替换密钥 // ...其他包 ); } - iOS:在
AppDelegate.m添加:#import <CodePush/CodePush.h> // ... - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge { #ifdef DEBUG return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"]; #else return [CodePush bundleURL]; // 生产环境启用 CodePush #endif }
- Android:在
四、代码集成
-
包裹根组件
修改入口文件(如App.js):import CodePush from "react-native-code-push"; const App = () => ( <Provider store={store}> <NavigationContainer>{/* ... */}</NavigationContainer> </Provider> ); export default CodePush({ checkFrequency: CodePush.CheckFrequency.ON_APP_START, installMode: CodePush.InstallMode.IMMEDIATE })(App); -
手动更新检查
在需要的位置触发更新:CodePush.sync({ updateDialog: true, // 显示更新弹窗 installMode: CodePush.InstallMode.IMMEDIATE });
五、发布热更新
-
构建更新包
code-push release-react MyApp-Android android --t 1.0.0 --dev false --d Production code-push release-react MyApp-iOS ios --t 1.0.0 --dev false --d Production--t:目标二进制版本(与app.json中version一致)--d:部署环境(Production/Staging)
-
查看发布状态
code-push deployment ls MyApp-Android -k
六、调试与回滚
- 强制更新测试:
CodePush.forceUpdate(); - 回滚更新:
code-push rollback MyApp-Android Production --targetRelease v1 # 回退到 v1 版本
注意事项
- 热更新仅限 JS 代码、图片及资源文件,不可修改原生代码或依赖库
- 遵守 Apple/Google 政策,避免动态修改核心功能
- 测试环境使用
Staging密钥,生产环境用Production
通过以上步骤,您的 React Native 0.74 应用即可实现免审核热更新,大幅提升迭代效率。
更多推荐



所有评论(0)