为啥AS打开别人的工程有时会去下载一堆东西,具体下载啥了?

AS的版本取决于Plugin的版本,比如你的AS版本是3.6.0那你的plugin版本就是3.6.0,这个版本号除了通过Help-->About可以知道,也可以通过新建工程时依赖的库看到
就是你新建的工程的主build.gradle里的
buildscript{
dependencies{
classpath "com.android.tools.build:gradle:3.6.0"
}
}
这个版本就是你的工程依赖的AS的版本。你把这个工程给别人用,这个工程也是依赖这个AS版本.

Gradle是一个编译工程的工具,它有自己独立的版本,比如你的AS的版本是3.6.0,那对应的Gradle版本是5.6.4
这个可以新建个工程去工程的
gradle/wrapper/gradle-wrapper.properties
文件看对应的distributionUrl
比如:
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip

至于具体AS的版本对应哪个Gradle的版本,可以去这个网址查
https://developer.android.google.cn/studio/releases/gradle-plugin

安装AS时,会同时下载AS对应的Gradle,你建立的工程都用这个版本的Gradle编译,就是依赖这个Gradle版本,你自己也可以下载别的版本的Gradle。

怎么看自己有哪些版本的Gradle?可以到File-->Settings-->Build,Execution,Deployment-->Gradle看你的Gradle的保存地址,去里面的子文件夹wrapper\dists看对应的下载版本

如果你导入了别人的工程,你的机器上有这个这个工程依赖的Gradle版本,就什么也不发生,如果没有这个版本,那AS就会去网上下载跟工程依赖的Gradle,有点人工智障。

有个野路子,我也没试过。你可以自己修改工程依赖的AS版本为自己的AS版本,这也间接的修改依赖的Gradle版本,或者修改依赖gradle的版本为现有的版本,当然最好是你的版本比工程依赖的版本高,否则也许有些库会不支持。

当然安全的做法还是让AS自己去下载,或者你用迅雷去https://services.gradle.org/distributions/,下载对应的gradle-版本号-all.zip,放到对应Gradle的文件夹下,能节省点时间。里面的子文件夹名称是一串乱码,我也不清楚是什么意思,最好让AS先下载一会,这样这个子文件夹也建立起来了,再让AS停下,把你下载的文件放到这个文件夹下。

 

posted on 2021-11-19 16:47  litandy  阅读(220)  评论(0编辑  收藏  举报

导航