1.创建一个RN原生项目
在终端执行命令:react-native init 你的工程名 ,这行命令是创建RN工程,经过一些时间的等待,工程创建完成。
2.Code-Push集成与使用(Android)
第一步
安装code-push包,并link到原生工程:
npm install --save react-native-code-push@latest
react-native link react-native-code-push
安卓配置
1.在app/build.gradle下添加
apply from: "../../node_modules/react-native/react.gradle" apply from: "../../node_modules/react-native-code-push/android/codepush.gradle"
如果出现打release包时出现 Process 'command 'cmd'' finished with non-zero exit value 1 加入以下代码
project.ext.react = [ entryFile: "index.js", enableHermes: false, // clean and rebuild if changing ]
如下图
2.在android/settings.gradle
文件中配置react-native-code-push
工程
include ':react-native-code-push' project(':react-native-code-push').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-code-push/android/app')
3.在android/app/build.gradle
文件中添加:react-native-code-push
工程依赖
implementation project(':react-native-code-push')
4.配置Application
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) { @Override public boolean getUseDeveloperSupport() { return true;//是否是debug模式 } @Override protected List<ReactPackage> getPackages() { Log.d("CODE_PUSH", "CODE_PUSH==" + BuildConfig.LOG_DEBUG); return Arrays.<ReactPackage>asList( new MainReactPackage(), new RNCWebViewPackage(), new CustomLoginPackage(), new AsyncStoragePackage(), /** * deploymentKey 开发更新版本的key * context 上下文 * isDebugMode build版本 * serverUrl 热更新网络地址 * */ new CodePush(getCodePushKey(BuildConfig.LOG_DEBUG), getApplicationContext(), BuildConfig.LOG_DEBUG, getCodePushUrl(BuildConfig.LOG_DEBUG)) ); } /*@Override protected String getBundleAssetName() { return "index.android.bundle"; }*/ @Override protected String getJSBundleFile() { return CodePush.getJSBundleFile(); } };