ReactNative的Gradle配置代理指北(Android依赖下载)
RN在执行yarn android 时,会自动执行安卓依赖安装(gradle dependencies)
但是RN下载android的gradle依赖实在是太慢了,魔法全局出去了也慢的离谱
使用代理命令代理了cmd 执行yarn android,gradle的下载依然慢的离谱不走代理
配置了阿里云镜像,还是有一部分的依赖还是不会走代理, 这部分属于node_moudules插件中的 build.gradle, 一个个修改也不切实际
以下是解决方法,推荐多管齐下
一、aliyun镜像
修改RN项目中 android/build.gradle
repositories {
maven { url 'https://maven.aliyun.com/repository/public/'}
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
// maven { url 'https://maven.aliyun.com/nexus/content/groups/public'}
google() // 这两个依然保留,不排除阿里云镜像没有的可能
mavenCentral()
}
二、gradle代理
- 配置gradle局部代理, 在项目中的android/gradle.properties 添加代理配置,下载结束后直接注释掉,避免忘记开魔法后下载失败
# 直接追加到末尾, 这里的代理地址是梯子的代理地址, 下载结束后直接注释掉
systemProp.http.proxyHost=127.0.0.1
systemProp.http.proxyPort=7890
systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyPort=7890
-
(这一步非必要)首先如果配置了gradle局部代理,一般来说就不需要再配置gradle全局代理,如果有需要配置gradle全局代理,请查找全局的
.gradle/gradle.propterties- win系统, user_name/.gradle/gradle.propterties
- mac系统,同理找到全局下的.gradle文件夹
三、Android Studio代理
(如果AS的SDK Manager下载缓慢可以单用这个)
-
设置搜索 代理或者proxy, 对应是否装了汉化插件
-
配置好内容后,点击下方的 检查连接/ Check connect ,
-
测试一个外网地址即可 www.google.com/ ,如果fail就要检查配置、梯子是否开启,没必要节省这点时间,这个环节出现故障反而导致后面排查问题费时。
在aliyun、grade代理、AS代理配置三管齐下后,AS中点击一下依赖同步后即可享受飞一般的下载速度
如果Android Studio 在开始执行gradle下载的时候,弹了一个代理的弹窗可以直接no掉,那个是修改全局gradle的代理的(详细看前面的2.2内容)
ReactNative项目执行 yarn android 就能将APP打入到安卓机中了
喜欢用命令行的
在android目录中执行
安装依赖
gradle dependencies 或 ./gradlew dependencies 安装依赖
清理依赖
./gradlew clean
./gradlew clean build --refresh-dependencies