Android Modules 依赖关系,命令行

本文分享了如何在Android Studio中解决包依赖重复的问题,包括使用阿里云镜像仓库、查询仓库,以及通过Gradle命令解析和清理重复依赖的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

目录

 

一. 问题

二. 命令

三. 执行

四. 附录


 

 

一. 问题

今天想看下包依赖关系,想把重复的包依赖干掉,搞了好久哦,反正就是Android Studio 巨慢各种不配合;

搞完了,然后简单记录一下;

有些group-id: com.android.support 源码,发现Android Studio 里找不到源码;

## 镜像仓库

  • https://maven.aliyun.com/mvn/guide

## 查询仓库

  • https://maven.aliyun.com/mvn/search

然后去这个仓库连接中,选择适当的group-idartifact-idversion,即可;

 

 

二. 命令

# 解析Modules 依赖
    ## 单节点
        ./gradlew -q :app:dependencies --configuration implementation
    ## 完整性节点
        ./gradlew -q :app:dependencies --configuration debugCompileClasspath
        ./gradlew -q :app:dependencies --configuration debugRuntimeClasspath
        ./gradlew -q :app:dependencies --configuration releaseCompileClasspath
        ./gradlew -q :app:dependencies --configuration releaseRuntimeClasspath

# 举例
    ./gradlew -q :XXX:dependencies --configuration implementation
    ./gradlew -q :YYY:dependencies --configuration implementation


#解析库依赖
    ./gradlew -q :app:dependencyInsight --configuration debugCompileClasspath --dependency design
    ./gradlew -q :app:dependencyInsight --configuration debugRuntimeClasspath --dependency design

# 举例
    ./gradlew -q :XXX:dependencyInsight --configuration debugCompileClasspath --dependency XXX_1
    ./gradlew -q :YYY:dependencyInsight --configuration debugCompileClasspath --dependency YYY_2

以上命令行都自己试了一遍,implementation 表达无子节点依赖,debugXXXClasspath/releaseXXXClasspath 表达完整性节点依赖;

 

三. 执行

执行过程如下所示:

+--- com.squareup.leakcanary:leakcanary-android:1.5.4
|    \--- com.squareup.leakcanary:leakcanary-analyzer:1.5.4
|         +--- com.squareup.leakcanary:leakcanary-watcher:1.5.4
|         \--- com.squareup.haha:haha:2.0.3
+--- com.squareup.leakcanary:leakcanary-analyzer:1.5.4 (*)
+--- com.squareup.leakcanary:leakcanary-watcher:1.5.4
+--- com.squareup.haha:haha:2.0.3
+--- com.android.support:appcompat-v7:28.0.0
|    +--- com.android.support:support-annotations:28.0.0
|    +--- com.android.support:support-compat:28.0.0
|    |    +--- com.android.support:support-annotations:28.0.0
|    |    +--- com.android.support:collections:28.0.0
|    |    |    \--- com.android.support:support-annotations:28.0.0
|    |    +--- android.arch.lifecycle:runtime:1.1.1
|    |    |    +--- android.arch.lifecycle:common:1.1.1
|    |    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0
|    |    |    +--- android.arch.core:common:1.1.1
|    |    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0
|    |    |    \--- com.android.support:support-annotations:26.1.0 -> 28.0.0
|    |    \--- com.android.support:versionedparcelable:28.0.0
|    |         +--- com.android.support:support-annotations:28.0.0
|    |         \--- com.android.support:collections:28.0.0 (*)
|    +--- com.android.support:collections:28.0.0 (*)
|    +--- com.android.support:cursoradapter:28.0.0
|    |    \--- com.android.support:support-annotations:28.0.0
|    +--- com.android.support:support-core-utils:28.0.0
|    |    +--- com.android.support:support-annotations:28.0.0
|    |    +--- com.android.support:support-compat:28.0.0 (*)
|    |    +--- com.android.support:documentfile:28.0.0
|    |    |    \--- com.android.support:support-annotations:28.0.0
|    |    +--- com.android.support:loader:28.0.0
|    |    |    +--- com.android.support:support-annotations:28.0.0
|    |    |    +--- com.android.support:support-compat:28.0.0 (*)
|    |    |    +--- android.arch.lifecycle:livedata:1.1.1
|    |    |    |    +--- android.arch.core:runtime:1.1.1
|    |    |    |    |    +--- com.android.support:support-annotations:26.1.0 -> 28.0.0
|    |    |    |    |    \--- android.arch.core:common:1.1.1 (*)
|    |    |    |    +--- android.arch.lifecycle:livedata-core:1.1.1
|    |    |    |    |    +--- android.arch.lifecycle:common:1.1.1 (*)
|    |    |    |    |    +--- android.arch.core:common:1.1.1 (*)
|    |    |    |    |    \--- android.arch.core:runtime:1.1.1 (*)
|    |    |    |    \--- android.arch.core:common:1.1.1 (*)
|    |    |    \--- android.arch.lifecycle:viewmodel:1.1.1
|    |    |         \--- com.android.support:support-annotations:26.1.0 -> 28.0.0
|    |    +--- com.android.support:localbroadcastmanager:28.0.0
|    |    |    \--- com.android.support:support-annotations:28.0.0
|    |    \--- com.android.support:print:28.0.0
|    |         \--- com.android.support:support-annotations:28.0.0
|    +--- com.android.support:support-fragment:28.0.0
|    |    +--- com.android.support:support-compat:28.0.0 (*)
|    |    +--- com.android.support:support-core-ui:28.0.0
|    |    |    +--- com.android.support:support-annotations:28.0.0
|    |    |    +--- com.android.support:support-compat:28.0.0 (*)
|    |    |    +--- com.android.support:support-core-utils:28.0.0 (*)
|    |    |    +--- com.android.support:customview:28.0.0
|    |    |    |    +--- com.android.support:support-annotations:28.0.0
|    |    |    |    \--- com.android.support:support-compat:28.0.0 (*)
|    |    |    +--- com.android.support:viewpager:28.0.0
|    |    |    |    +--- com.android.support:support-annotations:28.0.0
|    |    |    |    +--- com.android.support:support-compat:28.0.0 (*)
|    |    |    |    \--- com.android.support:customview:28.0.0 (*)
|    |    |    +--- com.android.support:coordinatorlayout:28.0.0
|    |    |    |    +--- com.android.support:support-annotations:28.0.0
|    |    |    |    +--- com.android.support:support-compat:28.0.0 (*)
|    |    |    |    \--- com.android.support:customview:28.0.0 (*)
|    |    |    +--- com.android.support:drawerlayout:28.0.0
|    |    |    |    +--- com.android.support:support-annotations:28.0.0
|    |    |    |    +--- com.android.support:support-compat:28.0.0 (*)
|    |    |    |    \--- com.android.support:customview:28.0.0 (*)
|    |    |    +--- com.android.support:slidingpanelayout:28.0.0
|    |    |    |    +--- com.android.support:support-annotations:28.0.0
|    |    |    |    +--- com.android.support:support-compat:28.0.0 (*)
|    |    |    |    \--- com.android.support:customview:28.0.0 (*)
|    |    |    +--- com.android.support:interpolator:28.0.0
|    |    |    |    \--- com.android.support:support-annotations:28.0.0
|    |    |    +--- com.android.support:swiperefreshlayout:28.0.0
|    |    |    |    +--- com.android.support:support-annotations:28.0.0
|    |    |    |    +--- com.android.support:support-compat:28.0.0 (*)
|    |    |    |    \--- com.android.support:interpolator:28.0.0 (*)
|    |    |    +--- com.android.support:asynclayoutinflater:28.0.0
|    |    |    |    +--- com.android.support:support-annotations:28.0.0
|    |    |    |    \--- com.android.support:support-compat:28.0.0 (*)
|    |    |    \--- com.android.support:cursoradapter:28.0.0 (*)
|    |    +--- com.android.support:support-core-utils:28.0.0 (*)
|    |    +--- com.android.support:support-annotations:28.0.0
|    |    +--- com.android.support:loader:28.0.0 (*)
|    |    \--- android.arch.lifecycle:viewmodel:1.1.1 (*)
|    +--- com.android.support:support-vector-drawable:28.0.0
|    |    +--- com.android.support:support-annotations:28.0.0
|    |    \--- com.android.support:support-compat:28.0.0 (*)
|    \--- com.android.support:animated-vector-drawable:28.0.0
|         +--- com.android.support:support-vector-drawable:28.0.0 (*)
|         \--- com.android.support:support-core-ui:28.0.0 (*)
+--- com.android.support:support-annotations:28.0.0
+--- com.android.support:support-compat:28.0.0 (*)
+--- com.android.support:collections:28.0.0 (*)
+--- android.arch.lifecycle:runtime:1.1.1 (*)
+--- android.arch.lifecycle:common:1.1.1 (*)
+--- android.arch.core:common:1.1.1 (*)
+--- com.android.support:versionedparcelable:28.0.0 (*)
+--- com.android.support:cursoradapter:28.0.0 (*)
+--- com.android.support:support-core-utils:28.0.0 (*)
+--- com.android.support:documentfile:28.0.0 (*)
+--- com.android.support:loader:28.0.0 (*)
+--- android.arch.lifecycle:livedata:1.1.1 (*)
+--- android.arch.core:runtime:1.1.1 (*)
+--- android.arch.lifecycle:livedata-core:1.1.1 (*)
+--- android.arch.lifecycle:viewmodel:1.1.1 (*)
+--- com.android.support:localbroadcastmanager:28.0.0 (*)
+--- com.android.support:print:28.0.0 (*)
+--- com.android.support:support-fragment:28.0.0 (*)
+--- com.android.support:support-core-ui:28.0.0 (*)
+--- com.android.support:customview:28.0.0 (*)
+--- com.android.support:viewpager:28.0.0 (*)
+--- com.android.support:coordinatorlayout:28.0.0 (*)
+--- com.android.support:drawerlayout:28.0.0 (*)
+--- com.android.support:slidingpanelayout:28.0.0 (*)
+--- com.android.support:interpolator:28.0.0 (*)
+--- com.android.support:swiperefreshlayout:28.0.0 (*)
+--- com.android.support:asynclayoutinflater:28.0.0 (*)
+--- com.android.support:support-vector-drawable:28.0.0 (*)
+--- com.android.support:animated-vector-drawable:28.0.0 (*)
\--- junit:junit:4.13-beta-3 (*)

(*) - dependencies omitted (listed previously)


 

四. 附录

添加一些本人使用的查看依赖命令:


# 项目依赖
./gradlew -q --warning-mode all androidDependencies > dependencies.txt
./gradlew -q :app:dependencies > dependencies.txt  # 推荐

# 单项目 debugCompileClasspath,举例
./gradlew -q :app:dependencies  --configuration debugCompileClasspath > dependencies.txt

# 多项目 debugCompileClasspath,举例
./gradlew -q :app:dependencies :library:base:dependencies :library:common:dependencies --configuration debugCompileClasspath > dependencies.txt

 

(完)

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值