为啥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
怎么看自己现有的Gradle版本?可以到Settings-->Build,Execution,Deployment-->Gradle看你的Gradle的保存地址,去里面的子文件夹wrapper\dists看对应的下载版本
如果你导入了别人的工程,有可能会使工程依赖的AS版本跟你现有的Gradle版本不匹配,只要这2个不匹配,那AS就会去网上下载跟工程匹配的Gradle,有点人工智障。
你完全可以自己修改工程依赖的AS版本为自己的AS版本,或者修改gradle的版本为现有的版本,当然最好是你的版本比工程依赖的版本高,否则也许有些库会不支持。
或者你用迅雷去https://services.gradle.org/distributions/,下载对应的gradle-版本号-all.zip,放到对应Gradle的文件夹下,能节省点时间。
至于任意一个AS的版本号和Gradle的版本号怎么对应的?可以去这个网址查
https://developer.android.google.cn/studio/releases/gradle-plugin