关于undefined is not an object(evaluating 'HotUpdate.downloadRootDir')错误的解决办法

讨论,这是react-native中文网的官网的回答,我再次补充一点。

有很多开发者用了下面的命令成功了发现运行还是不行

$ npm install -g react-native-update-cli
$ npm install --save react-native-update
$ react-native link react-native-update

也有的说link了也还是没用,那我来说说几个解决的思路吧

解决一

有说由于node版本导致link失败的,然后报错,我建议大家可以去android目录下的setting.gradle和app目录下面的build.gradle看看,有没有添加成功,没有的话,自己手动添加。

setting.gradle

include ':react-native-update'
project(':react-native-update').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-update/android')

build.gradle

dependencies {
...
compile project(':react-native-update') // <-- 这一句
...
}

解决办法二

有的人说,我link的时候可以啊,然后我也按照解决办法一,看了下几个gradle,确实都依赖了啊,然后编写代码reload的时候还是报这个错。

这个地方我得要说清楚了,你link了,依赖添加了,这个时候,你是必须要要重新启动应用的,就是执行命令react-native run-android,因为你之前运行的应用还是之前的apk,即使你reload了,那更新的也只是rn的代码,你android端的代码根本就没更新,所以,link了之后,重新运行应用就可以了

注:这个地方我还遇到一个问题,就是运行项目的时候报NDK错误,react-native-update依赖需要NDK环境,所以,需要在local.propertis里面添加NDK路径

你可能感兴趣的:(webapp)