解決Android Studio每次匯入專案都會下載Gradle和Android Gradle plugin的問題

yyh888發表於2024-08-15

在跟著安卓官方教程學習的時候,我發現每次匯入教程裡的專案,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的相容性:官方文件點這裡

第三行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:官方文件點這裡

點Sync now,如果爆紅說需要下載東西,這個時候就可以聯網了,下載完必要的東西,後續再匯入其他專案應該是不用再下載了

到這裡就結束了,整個過程是有點麻煩,但這也是我自己摸索出來唯一有效的方法,總好過每次都要下載一堆各種版本的Gradle和Kotlin,統統使用統一的版本,其實操作的時間也比下載Gradle的時間要快很多。如果有更好的方法歡迎大家請指出,雖然沒有下載東西了,但是我還是感覺C盤依然在慢慢變小。。。

相關文章