最近在處理一個依賴沖突的問題,雖然根據(jù)錯誤提示已經(jīng)解決了問題;但還是很有必要了解一下
如何查看項目中各模塊的依賴組件
,以便于快速解決組件依賴的問題,故特記錄于此
在實戰(zhàn)中我們一般可以通過 Gradle窗口
、Gradle插件
、以及 Terminal 執(zhí)行Gradle相關(guān)命令
獲取項目的相關(guān)依賴,但是在用這幾種方式時,我都遇到了一些問題… 希望這段經(jīng)歷可以幫到你~
AndroidStudio版本
這是我當前AndroidStudio
版本,應該是2023年1月的 Electric Eel
版本
可直接前往官網(wǎng)查看AndroidStudio版本信息
這樣看來我的 AndroidStudio
使用的 Electric Eel
版本 一直在更新補丁
Gradle 窗口
AndroidStudio版本更新的很快,針對不同人群
- 有的喜歡維持原樣,3.0依舊用的嗨起;
- 有的喜歡嘗試+穩(wěn)定,4.0找個穩(wěn)定版也妥妥使用;
- 還有的見一個愛一個,只要有更新都會立馬跟上…
我是在
Gradle窗口
看不到通過dependencise(獲取相關(guān)依賴)
操作, 也有的人比我更慘一些,直接在Gradle窗口中看不到Tasks ,不知道你有沒有遇到過類似問題?
正常場景
點擊 Android studio
右上角 Gradle
,之后找到 對應項目 - Tasks - help - dependencise
:
不出意外的話,之后會彈出下面的信息 … (日志一般會直接滾到底部,需自己滑到頂部,從頭看起)
相關(guān)依賴信息
分析依賴結(jié)構(gòu)
我在解決不顯示 Task - help 依賴相關(guān)操作
時,有看到一個可能較老版本的顯示場景,記錄一下
Android studio
右上角 Gradle
,按照如圖目錄找到 dependencise
雙擊,找到 依賴sdk
即可看到版本號,如下圖所示
Gradle不顯示Tasks
這個場景是我在搜尋資料時,看到的一種場景處理方式;因為與我的場景有所不同,所以方法并未奏效(
設(shè)置界面都不一樣- -
),但是其中我獲取到一點有用的信息就是:Gradle Tasks 由于性能問題默認被關(guān)閉了,如果要使用需手動開啟!
Gradle結(jié)構(gòu)場景
- AndroidStudio 4.2 之前
- AndroidStudio 4.2 之后
官方Issue:Gradle task list is large and slow to populate in Android projects. This feature by default is disabled for performance reasons. You can re-enable it in: Settings | Experimental | Do not build Gradle task list during Gradle sync.
Gradle Tasks
由于性能問題默認被關(guān)閉了,可以通過以下方式打開:
- File -> Settings ->
Experimental
- 去掉下面的勾選
Do not build Gradle task list during Gradle sync
- 重新
sync
工程后,就能看到Gradle Tasks
Gradle不顯示Tasks - help
這是我起初看不到 dependencise
時的操作頁面,感覺比別人少了很多操作… 索性有提示就跟著一起操作一下
~
可以直接根據(jù) Show experimental settings...
跳轉(zhuǎn)設(shè)置頁,也可以手動進入 File - Setting - Experimental
瞅了瞅,和別人的設(shè)置頁都不一樣,但是明顯設(shè)置加多,肯定是我的版本更先一些,所以上面提到的方式就不能再用了!
找不同的話,也只有這個 Analyze Dependencies
選擇對應模塊進行分析 Analyze Dependencies
,可獲取相關(guān)依賴信息
最后看看Gradle窗口,是不是和我現(xiàn)在一樣可以正常查看依賴了呢~
Gralde 插件
- 在
Setting - Plugins
中下載GradleView
插件
- 下載插件完成后的效果圖
- 根據(jù)提示直接重啟As,否則找不到插件
-
View - Tool Windows - Gradle View
,如圖示
- 查詢成功效果圖
嗯... 我嘗試失敗了,那就等我有時間再解決一下吧,你先用別的方式
Gradle 命令
AndroidStudio
提供了 Terminal
工具,可直接使用 gradlew
命令,針對不同系統(tǒng)命令稍有不同(命令中的“app”為module名稱,可自行更換
)
以下命令會將gradle
執(zhí)行的各個步驟
都打印出來,包括releaseUnitTestRuntimeClasspath
,releaseUnitTestCompileClasspath
,releaseRuntimeClasspath
,releaseCompileClasspath
,lintClassPath
,debugUnitTestRuntimeClasspath
等
- windows
gradlew :app:dependencies
- MacOS
./gradlew :app:dependencies
獲取特定環(huán)境下的依賴項
執(zhí)行app模塊下的dependencies任務;額外配置compile,編譯環(huán)境下的依賴項
#配置configuration參數(shù)只查看其中一個的依賴樹就夠了- compile
./gradlew :app:dependencies --configuration compile
#配置configurati參數(shù) 查看 -releaseRuntimeClasspath
.\gradlew app:dependencies --configuration releaseRuntimeClasspath
執(zhí)行結(jié)果
在使用中遇到一些問題,記錄于此希望可以幫到你
所遇問題-1
:通過 gradlew :app:dependencies
查看項目依賴結(jié)構(gòu),報錯:gradlew : 無法將“gradlew”項識別為 cmdlet、函數(shù)、腳本文件或可運行程序的名稱。請檢查名稱的拼寫,如果包括路徑,請確保路徑正確,然后再試一次。
出錯原因 →
起初我認為可能是需要某些配置,查詢后發(fā)現(xiàn) Windows 終端發(fā)生了改變 , 原來的中斷是 Windows cmd 命令行中斷 ; 最新的 AndroidStudio中 , 使用的是 Windows PowerShell 終端 ;
故在 Windows 中執(zhí)行 bat 腳本時 , 需要使用./可執(zhí)行文件
由原始命令
gradlew :app:dependencies
變更命令格式.\gradlew
或 ./gradlew
(可二者自行嘗試)
.\gradlew app:dependencies
所遇問題-2
:報錯:Gadle plugin JDK 版本不匹配
Gadle plugin JDK 版本不匹配
,導致 Gradle plugin 在部分場景無法使用
根據(jù)提示有三種解決方式,自行選取即可(溫馨提示:有的人直接下載好jdk,進行本地加載設(shè)置
)
所遇問題-3
:報錯:com.android.library:com.android.library.gradle.plugin:7.4.1
大致報錯信息
個人認為的有效錯誤
查詢過后需配置Gradle JDK 版本
- File → ProjectStructure
- Gradle Setting → Gradle JDK
- 下載、選取JDK11即可
- 如未下載,可先行下載
- 下載后選取,保存;編譯即可~
文章來源:http://www.zghlxwxcb.cn/news/detail-766208.html
參考資源文章來源地址http://www.zghlxwxcb.cn/news/detail-766208.html
- Android查看第三方庫的依賴樹匯總
- 【錯誤記錄】在 Android Studio 的 Terminal 終端執(zhí)行 gradlew 報錯 ( 無法將“gradlew”項識別為 cmdlet、函數(shù)、腳本文件或可運行程序的名稱。請檢查名稱 )
- 解決 Could not resolve com.android.tools.build:gradle:7.4.1
- Mac 解決 Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8
- Toolchains for JVM projects
到了這里,關(guān)于Android進階之路 - 通過Gradle 窗口、插件、命令 查看項目依賴的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!