codepush热更新
codepush2之配置自己的服务器
其实原生集成rn在集成codepush与新建rn项目集成codepush最主要的区别是node_modules的路径发生变化了另外应用也不再是一个reactApplication了。大多数错误都是这两点引起的。
这是我的文件目录
1:项目路径下命令行输入yarn add react-native-code-push
2:不需要配置settings.gradle
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')
build.gradle:
apply from: "../node_modules/react-native/react.gradle"
apply from: "../node_modules/react-native-code-push/android/codepush.gradle"
不需要
dependencies {
compile project(':react-native-code-push')
}
否则会报错如下
如果遇到这个错误请参考
3:修改codepush.gradle的35行node_modules路径
codepushgradle.png
4:修改react.gradle的14行reactRoot路径
reactbuild.png
5:node_modules/react-native-code-push/android/app
codepushpackage.png
将codepush包和codepush.gradle复制到自己的项目路径下然后修改路径包名等错误信息。
如图所示:
fixbug.png
如果不复制codepush,使用node_modules里面的会报错如下:
codepushApplicationNOTFound.png
因为这是一个原生应用并不是一个react native的应用。
6:复制过后运行还是会报错,因为缺少一个jar
缺少jar.png
自行下载然后放入libs里面即可。
7:修改android/app/build.gradle
apply from: "../node_modules/react-native/react.gradle"
apply from: "codepush.gradle"
8:运行然后成功
如图:
codepushsuccess.png
androidtoRN.gif
代码仅供参考:
https://github.com/wuyunqiang/AndroidToRN
参考:
https://github.com/Microsoft/react-native-code-push/issues/1133
https://github.com/Microsoft/react-native-code-push/issues/1128
https://github.com/wuyunqiang/ReactNativeUtil/issues/19
网友评论