在實現用戶協議彈窗時,通常我們會想到使用系統自定義彈窗,併在彈窗中點擊跳轉到Web頁面。但在HarmonyOS中,由於系統彈窗的顯示優先順序高於其他組件,即使跳轉到Web頁面,彈窗依然會顯示在最上層。 為瞭解決這個問題,我們可以自定義一個組件來模擬彈窗,這樣當跳轉到Web頁面時,Web內容會覆蓋這個模 ...
在跟著安卓官方教程學習的時候,我發現每次導入教程里的項目,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盤依然在慢慢變小。。。
本文來自博客園,作者:yyh888,轉載請註明原文鏈接:https://www.cnblogs.com/yyh888/p/18356064