解决Android Studio每次导入项目都会下载Gradle和Android Gradle plugin的问题
在跟着安卓官方教程学习的时候,我发现每次导入教程里的项目,Android Studio都会下载Gradle和Android Gradle plugin等一大堆东西,才能启动项目。从此以后,我就发现安装盘的空间一点点减少。在查询了无数种方法后,依然得不到解决,后来经过摸索以及阅读官方文档,终于解决了该问题。但是该方法依然麻烦,每次导入项目都要手动设置一些东西,但好在设置的时间小于下载Gradle的时间,也不用再下载各种版本的Gradle了。
首先,之所以导入别人项目时AS都会下载Gradle,是因为项目中使用的Gradle版本与本地中的Gradle版本不一致(我发现好像即使本地中已经存在该版本的Gradle,AS依然会重新下载Gradle),这样,你每次导入项目AS就会下载各种各样的Gradle。
我的方法是在本地安装最新版Gradle,以及在AD中配置最新版Android Gradle plugin,以后导入其他项目时,都用该版本的Gradle和Android Gradle plugin,为什么要用最新版呢,官方文档是这样说的:
并且注意Gradle和Android Gradle plugin之间的版本兼容性,我直接选择两者最新版:
同理,你导入的项目的Kotlin版本和Compose Compiler版本与本地的不一致,也会导致重新下载,所以下一步顺便再配置最新版Koltlin和Compose Compiler,以后的项目都使用统一的Koltlin和Compose Compiler版本,或者根据情况使用原版。
注意Kotlin和Compose Compiler之间的版本兼容性:
下面是完整的导入项目并配置Gradle,plugins的过程:
第一步,根据Gradle官方文档下载最新版Gradle,我的是8.9
第二步,clone完成或导入项目后,直接断网,根据下图,Gradle一栏中的Distribution选择Local installation,并选择你的Gradle安装路径:
Gradle JDK选择GRADLE_LOCAL_JAVA_HOME即可:
点击OK,点击Try again:
接着会爆红,在Android目录中,打开build.gradle.kts(Project:***),修改Android Gradle plugin,将plugins中前两项改为8.5.0(因为我使用的Gradle是8.9),记得去官方文档查看与Gradle的兼容性:> https://developer.android.google.cn/build/releases/gradle-plugin?hl=en#updating-gradle
第三行org.jetbrains.kotlin.android是Koltin的版本,根据需要改成2.0.0,再点一次Try again,不出意外会提示Compose Compiler plugin不兼容:
第三步,配置Compose Compiler
首先配置Compose Compiler Gradle plugin:
在Project目录下,右击gradle文件夹,New->File,创建一个名为libs.versions.toml的文件
,复制以下代码进去:
点击查看代码
[versions]
kotlin = "2.0.0"
[plugins]
org-jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
在Android目录中,在build.gradle.kts(Project:***)文件夹的plugins中加入该插件:
点击查看代码
plugins {
// Existing plugins
alias(libs.plugins.compose.compiler) apply false
}
在build.gradle.kts(Module:app),加入该插件:
点击查看代码
plugins {
// Existing plugins
alias(libs.plugins.compose.compiler)
}
在build.gradle.kts(Module:app)中找到并修改为与你的Kotlin版本相应的Compose Compiler Version:> https://developer.android.google.cn/jetpack/androidx/releases/compose-kotlin#pre-release_kotlin_compatibility:
点Sync now,如果爆红说需要下载东西,这个时候就可以联网了,下载完必要的东西,后续再导入其他项目应该是不用再下载了