如何配置react-native run-android编译Android项目时不自动下载文件?
解决React Native Android编译时跳过Gradle包下载的问题
没问题!完全可以配置让React Native编译时跳过下载这个Gradle包,我给你两种实用的方法,按需选择就行:
方法1:利用Gradle本地缓存(推荐)
这是最省心的方式,Gradle本身会优先读取本地缓存的包:
- 先找到Linux系统下Gradle wrapper的缓存目录,路径是:
~/.gradle/wrapper/dists/gradle-2.14.1-all/ - 进入这个目录后,你会看到一个由随机字符串组成的子文件夹(比如类似
8bnwg5hd3w55iofp58khbp6yv这类)。如果还没这个文件夹,先手动跑一次react-native run-android,等它开始尝试下载时按Ctrl+C中断,目录结构就自动生成了 - 把你手动下载好的
gradle-2.14.1-all.zip直接放到这个随机字符子文件夹里 - 再次执行
react-native run-android,Gradle会自动识别到本地已有的压缩包,不会再发起远程请求了
方法2:修改Gradle Wrapper配置文件
如果你想直接指定本地文件路径,也可以修改项目的配置:
- 打开你的React Native项目,找到
android/gradle/wrapper/gradle-wrapper.properties文件 - 找到其中的
distributionUrl字段,把原来的远程URL替换成你本地包的绝对路径。注意要转义斜杠,格式示例:原内容:
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
修改后:distributionUrl=file\:///home/你的用户名/Downloads/gradle-2.14.1-all.zip - 保存文件后再执行
react-native run-android,此时Gradle会直接加载你指定的本地压缩包
注意事项
- 一定要确保你下载的Gradle包版本和项目要求的完全一致(这里是2.14.1),版本不匹配会导致编译失败
- 用方法2时,本地路径要准确:Linux下绝对路径需要以
file:///开头(三个斜杠);如果把包放在项目的android目录下,也可以用相对路径,比如distributionUrl=file\://gradle-2.14.1-all.zip
内容的提问来源于stack exchange,提问作者fabiobh
相关产品推荐
相关产品推荐

