Android Studio代理配置
Android Studio中阿里云代理
Android/build.gradle:
repositories {
google()
maven { url = uri("https://maven.aliyun.com/repository/google")}
maven { url = uri("https://maven.aliyun.com/repository/gradle-plugin")}
maven { url = uri("https://maven.aliyun.com/repository/public")}
maven { url = uri("https://maven.aliyun.com/repository/jcenter")}
mavenCentral()
}
VSCode中代理配置
不光Android Studio中需要配置代理,在RN项目中node_modules下的一些插件也需要进行配置,不然你就会发现build的时候,有些请求仍然不走代理网址。
以下路径根据自己的项目情况去找:
- node_modules@react-native\gradle-plugin\build.gradle.kts
- node_modules@react-native\gradle-plugin\settings.gradle.kts
- node_modules\react-native\settings.gradle.kts
Gradle下载
- 下载地址:mirrors.aliyun.com/macports/di…
- 在Android Studio中从上方的File选项中找到Settings打开
- 在Android Studio中的项目里找到以下文件进行配置: Android/gradle/wrapper/gradle-wrapper.properties:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
//这个目录是你的本地gradle目录
distributionUrl=C:/Users/Administrator/.gradle/wrapper/dists/gradle-8.3-all/6en3ugtfdg5xnpx44z4qbwgas/gradle-8.3
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
- node_modules/@react-native/gradle-plugin/gradle/wrapper/gradle-wrapper.properties
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=C:/Users/Administrator/.gradle/wrapper/dists/gradle-8.6
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
坑点
- 阿里云镜像中存在一些未同步的库,比如com.android.tools.build:gradle:8.9.2,所以记得把google()放在最前面
- 在配置本地的gradle时,记得下载xx-all.zip结尾的文件,不要去下载xx-bin.zip结尾的文件,因为xx-bin.zip文件缺少很多东西需要在sync时下载,会浪费很多时间。比如: mirrors.cloud.tencent.com/gradle/grad…
- 如果上面配置了阿里云代理也没用,还是会下载一些依赖库,导致很漫长的等待,直接试试Android studio的proxy吧
- 打开vpn的tun模式,在settings里搜索Proxy,添加代理,如下图:
-
npx react-native run-android 无法安装apk的问题
因为我在使用命令行运行的时候一直无法启动apk,只能通过android studio来运行,这让我非常疑惑,我看其他人都是run-android的时候直接启动,而我一直提示以下报错:
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "String.lastIndexOf(String)" because the return value of "java.net.URI.getPath()" is null at org.gradle.wrapper.GradleWrapperMain.main(SourceFile:47)
我试过gradlew clean也是上面的错误,期间我一直以为是:\android\gradle\wrapper\gradle-wrapper.jar文件的问题,最近突然想会不会是gradle文件包,我的gradle一直用的是本地加载,android studio加载的也是这个本地包,一直都可以build成功,我就没往那里想。本着试一试的想法,我就把gradle-wrapper.properties文件中distributionUrl从本地包换成了mirrors.cloud.tencent.com/gradle/grad… 结果就好了!这困扰我好久的问题竟然就这么好了,因为我的本地包也是从这个网址下载的,真的很奇怪。