关于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路径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值