androidstudio删除项目_你真的了解Android项目里的依赖树吗?

180040482ee96bdf22e35f460a29275b.png

最近,我在做一个项目时,被一个问题卡住了,就是这个问题:

IllegalStateException: WorkManager is already initialized

我非常确认只初始化了WorkManager一次,但是Android Studio仍然抛出了这个异常。 第六感告诉我,一定是项目中其他的依赖包也使用了WorkManager。然后去看了眼 build.gradle 文件,没有其他依赖用到了WorkManager,这就很奇怪了。 我们采用了许多种不同的解决方案,比如更新或者删除依赖和插件,并逐行调试,定位崩溃的位置,但是根本无法解决。所以我们怀疑是不是我们引用的依赖里,也初始化了WorkManager?所以我们需要看下项目中的依赖关系。 能看到项目中完整的依赖关系吗? 答案当然是Yes!可以在Android Studio中查看,也可以通过命令行查看。这里有4种方法能帮你查看到项目中完整的依赖关系。通过Gradle面板 通过Android Studio查看是最简单也是最直接的方法。 在Android Studio的右边栏里点击 Gradle 选项,然后依次将  yourmodule  ->  Tasks  ->  android 展开,最后双击 androidDependencies 运行它。 它会将完整的依赖关系图输出在Android Studio的console栏里,像下面图片这样 :

3164649651eb7677b2c279b9b5017834.png

通过命令行 这种方式和第一种方式一样,唯一的不同是,需要通过在终端中运行命令来执行此操作。您可以在项目的根目录中使用Android Studio终端,或自己选择的终端。只需输入以下命令。
./gradlew yourmodule:dependencies
yourmodule 是要查看其依赖项的模块的名称,举个例子,如果你要查看app的依赖项,这里使用app就好。 另外,如果你也想要查看 compile , testCompile, 或者其他 的依赖项,你也可以这样配置参数:
./gradlew app:dependencies --configuration implementation./gradlew app:dependencies --configuration testImplementation ./gradlew app:dependencies --configuration androidTestImplementation
通过Gradle Build扫描 使用Gradle Build 扫描可能是最简单,最干净的一种方法了。它不仅可以看到项目中的依赖关系,还可以看到其他的一些Build信息。 你要做的就是在Gradle命令行后加上--scan ,举个例子,想查看项目中完整的依赖关系,可以使用这个命令:
gradlew app:dependencies --scan
输入命令行后,它会要求你确认是否生成报告,输入 yes ,你会得到一个报告的链接。像下面这样:

c26339cb41d278f0545b8ccc7cb1af50.png

打开这个URL,然后输入你的邮箱,几分钟后,你就可以类似下面的内容,点开Dependencies 选项,就可以看到一些细节了。

6d5ba8cbeb7fc19f8f190bf4eeedd944.png

在这里你还可以查看一些其他的东西,比如性能,插件等等。以Html页面的形式,给你展示项目构建的一些详细情况。

使用插件

如果您不想在每次编译项目时都发送电子邮件,你可以使用Project Reports Plugin。但是需要你在build.gradle文件中添加一些代码,首先,需要你在build.gradle文件中,加上以下代码:

apply plugin: 'project-report'

之后点击 sync, 同步下项目,然后输入以下命令行:

gradlew htmlDependencyReport

他会在本地生成一个Html文件,控制台里会显示一个链接,点击链接,就可以查看项目的依赖关系啦。如下图:

9d4119e3aca0be61a602cee0c1f1998a.png

上面这4种,任何一种都非常好用啦~Gradle还有很多很好用的功能,关注公众号,后面会继续给大家更新!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值