假設我想用 graddle 檢索這個工件的依賴樹:com.google.firebase:firebase-firestore:24.4.0
我能怎么做 ?
uj5u.com熱心網友回復:
你不能這樣做,一個 aar 本身不包含任何依賴資訊。
這個 aar 的所有資訊都存盤在 pom.xml 中,可以在google maven repo 上找到。
這只會向您展示Gradle dependencies命令將執行的操作,這些是傳遞依賴關系,意味著此 aar 的直接依賴關系,默認情況下,Gradle 會自動決議它們。
pom.xml為_com.google.firebase:firebase-firestore:24.4.0
<?xml version='1.0' encoding='UTF-8'?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.google.firebase</groupId>
<artifactId>firebase-firestore</artifactId>
<version>24.4.0</version>
<packaging>aar</packaging>
<dependencies>
<dependency>
<groupId>androidx.annotation</groupId>
<artifactId>annotation</artifactId>
<version>1.1.0</version>
<scope>compile</scope>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.google.android.gms</groupId>
<artifactId>play-services-base</artifactId>
<version>18.0.1</version>
<scope>compile</scope>
<type>aar</type>
</dependency>
</dependencies>
<name>firebase-firestore</name>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
</project>
這pom.xml包括com.google.android.gms有自己的pom.xml
<?xml version='1.0' encoding='UTF-8'?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.google.android.gms</groupId>
<artifactId>play-services-basement</artifactId>
<version>18.1.0</version>
<packaging>aar</packaging>
<dependencies>
<dependency>
<groupId>androidx.collection</groupId>
<artifactId>collection</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
<type>jar</type>
</dependency>
<dependency>
<groupId>androidx.core</groupId>
<artifactId>core</artifactId>
<version>1.2.0</version>
<scope>compile</scope>
<type>aar</type>
</dependency>
<dependency>
<groupId>androidx.fragment</groupId>
<artifactId>fragment</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
<type>aar</type>
</dependency>
</dependencies>
<name>play-services-basement</name>
<licenses>
<license>
<name>Android Software Development Kit License</name>
<url>https://developer.android.com/studio/terms.html</url>
<distribution>repo</distribution>
</license>
</licenses>
</project>
我想說的是,除非您通過自定義任務迭代流程并自己獲取依賴項的 POM 檔案,否則您只能使用gradle dependencies命令來檢查專案或模塊使用的傳遞依賴項。
更新:
按照這些簡單的步驟,您可以輕松地開始一個新的 gradle 專案。
mkdir gradleExpcd gradleExpgradle init# 1.basic 1.groovy 隨機名稱build.gradle用以下內容更新空
plugins {
id 'java'
}
repositories {
google()
mavenCentral()
}
dependencies {
implementation "com.google.firebase:firebase-firestore:24.4.0"
}
gradle dependencies# 列出所有gradle dependencies --configuration compileClasspath# 減少輸出只顯示源集'main'的編譯類路徑
注意:缺少google()或mavenCentral()將在顯示的結果中顯示一些失敗。
uj5u.com熱心網友回復:
如果它是您專案的依賴項,您應該能夠運行
gradle dependencies
并查看整個專案的依賴樹(包括此工件的子樹)
此問題的答案中有更多詳細資訊: Using Gradle to find dependency tree
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/530665.html
標籤:爪哇行家毕业典礼android-gradle-插件构建.gradle
上一篇:如何將csv轉換為json
下一篇:執行com.android.build.gradle.internal.tasks.MergeNativeLibsTask$MergeNativeLibsTaskWorkAction時發生故障
