Cha*_*ham 547
对于Android,请使用此行
gradle app:dependencies
Run Code Online (Sandbox Code Playgroud)
或者如果你有一个gradle包装器:
./gradlew app:dependencies
Run Code Online (Sandbox Code Playgroud)
app你的项目模块在哪里
另外,如果你想检查某些东西是否compile与testCompilevs androidTestCompile依赖以及拉入的内容:
./gradlew :app:dependencyInsight --configuration compile --dependency <name>
./gradlew :app:dependencyInsight --configuration testCompile --dependency <name>
./gradlew :app:dependencyInsight --configuration androidTestCompile --dependency <name>
Run Code Online (Sandbox Code Playgroud)
Ben*_*hko 217
您可以使用该命令呈现依赖关系树gradle dependencies.有关更多信息,请查看11.6.4在线用户指南中列出项目依赖项部分.
Dev*_*str 133
如果您发现难以导航控制台输出gradle dependencies,您可以添加项目报告插件:
apply plugin: 'project-report'
Run Code Online (Sandbox Code Playgroud)
并使用以下方法生成HTML报告:
$ ./gradlew htmlDependencyReport
Run Code Online (Sandbox Code Playgroud)
报告通常可以在 build/reports/project/dependencies/index.html
Nic*_*sco 76
在Android Studio中(至少从v2.3.3开始),您可以直接从UI运行命令:
单击Gradle选项卡,然后双击:yourmodule - > Tasks - > android - > androidDependencies
树将显示在Gradle Console选项卡中
Dav*_*son 26
通常,完整的test,compile和androidTestCompile依赖图实在是太多了一起检验.如果您只想要compile依赖图,则可以使用:
./gradlew app:dependencies --configuration compile
Run Code Online (Sandbox Code Playgroud)
资料来源:Gradle docs 4.7.6
注意:compile在较新版本的Gradle中已弃用,在较新版本中,建议您将所有compile依赖项转移到implementation.请在这里看到这个答案
Dup*_*ngh 26
对我来说,这只是一个命令
在build.gradle加plugin
apply plugin: 'project-report'
Run Code Online (Sandbox Code Playgroud)
然后转到cmd并运行以下命令
./gradlew htmlDependencyReport
Run Code Online (Sandbox Code Playgroud)
这给了我一个 HTML 报告 WOW Html 报告
或者,如果您想要报告中的
text file, 使搜索更容易使用以下命令
gradlew dependencyReport
Run Code Online (Sandbox Code Playgroud)
这就是我的主。
Dav*_*uel 22
如果要在图形中可视化依赖关系,可以使用gradle-dependency-graph-generator插件.
通常,此插件的输出可以在build/reports/dependency-graph目录中找到,如果您使用的是0.5.0版本的插件,它包含三个文件(.dot | .png | .svg).
真实应用程序(国际象棋时钟)中依赖图的示例:
Rem*_*emy 12
对于Android,在终端中输入
gradlew app:dependencies
Run Code Online (Sandbox Code Playgroud)
它将列出所有依赖项以及具有较新版本的依赖项,供您升级,例如
com.android.support:customtabs:26.1.0 -> 27.1.1 (*)
Run Code Online (Sandbox Code Playgroud)
Sou*_*khi 11
对于 Gradle 的最新版本(我使用 6.4.1 版本进行了测试):
gradle dependencies --configuration compileClasspath
Run Code Online (Sandbox Code Playgroud)
或者如果您使用 Gradle Wrapper:
gradlew dependencies --configuration compileClasspath
Run Code Online (Sandbox Code Playgroud)
使用 'debug' 和 'release' 编译配置文件为 Android 构建时,可以使用debugCompileClasspath和releaseCompileClasspath配置代替compileClasspath.
Gradle的情况已经向前发展,所以我相信这个问题值得另一个答案。
从Gradle 4.3开始,引入了“ 构建扫描 ”。所有相关信息是在摇篮文档(可1,2)。对我来说,这似乎是以一种清晰,有组织的方式检查依赖关系(通常是您的构建)的最简单方法。
它们非常易于创建,只需执行即可:
gradle build --scan
Run Code Online (Sandbox Code Playgroud)
(或者./gradlew build --scan如果您使用包装器)
这将产生一个随机生成的链接,您可以在其中查看扫描结果。打开该链接时,您输入电子邮件并完全控制该链接:例如。分享或删除它。它有很多有关构建的信息,而不仅仅是依赖关系。您可以看到您的依赖关系,它们的层次结构,用于获取它们的存储库,以及有关构建的许多其他内容,即其性能(大型复杂构建中很重要的性能),测试,甚至控制台输出和系统配置,使用的是JDK和JVM,最大堆大小等。
这是来自模拟项目的打印屏幕:
构建扫描是构建的可共享记录,可提供有关发生情况和原因的见解。您可以在scans.gradle.com上免费创建构建扫描。
但是请注意,构建过程的信息将发送到Gradle服务器。完成检查后,可以完全删除它。
最后,您也可以对Gradle 4.3之前的版本使用构建扫描,只需在您的构建脚本中手动添加扫描插件即可。
编辑:
从评论中吸收一些额外的注释反馈:
1)很难错误地执行此操作,或者在不了解您的构建的某些信息将在线的情况下(对您来说是私有的,可以删除它,但是仍然在线) )。
执行时gradle build --scan出现以下消息:
Publishing a build scan to scans.gradle.com requires accepting the Gradle
Terms of Service defined at https://gradle.com/terms-of-service. Do you
accept these terms? [yes, no]
Run Code Online (Sandbox Code Playgroud)
您必须显式编写yes,然后消息继续:
Publishing build scan...
https://gradle.com/s/a12en0dasdu
Run Code Online (Sandbox Code Playgroud)
2)在Gradle Enterprise中,您可以在自己的服务器中托管gradle构建扫描。但是我对此没有经验,我提出的方法是关于标准Gradle分发,使用Gradle的服务器进行构建扫描。
3)Gradle本身促进了构建扫描,以此作为解决大多数构建问题的方法。
小智 7
在Android Studio中
1)打开终端并确保您位于项目的根文件夹中.
2)运行./gradlew app:dependencies (如果不使用gradle包装器,请尝试 gradle app:dependencies)
请注意,运行./gradle dependencies只会为您提供项目根文件夹的依赖关系树,因此以上述方式提及应用程序,即 ./gradlew app:dependencies非常重要.
我还发现运行此命令很有用:
./gradlew dI --dependency <your library>
Run Code Online (Sandbox Code Playgroud)
这显示了如何解决依赖关系(dependencyInsight),并帮助您调试需要在哪里强制或排除库中的内容build.gradle
请参阅:https://docs.gradle.org/current/userguide/tutorial_gradle_command_line.html
请注意,./gradlew <module_directory>:<module_name>:dependencies如果模块在到达build.gradle之前有额外的目录,则可能需要执行某些操作.如有疑问,请./gradlew tasks --all检查名称.
如果您希望所有依赖项都在一个文件中,最后只需两步即可。将其添加到build.gradle.kts项目的根目录中:
project.rootProject.allprojects {
apply(plugin="project-report")
this.task("allDependencies", DependencyReportTask::class) {
evaluationDependsOnChildren()
this.setRenderer(AsciiDependencyReportRenderer())
}
}
Run Code Online (Sandbox Code Playgroud)
然后申请:
./gradlew allDependencies | grep '\-\-\-' | grep -Po '\w+.*$' | awk -F ' ' '{ print $1 }' | sort | grep -v '\{' | grep -v '\[' | uniq | grep '.\+:.\+:.\+'
Run Code Online (Sandbox Code Playgroud)
这将为您提供项目和子项目中的所有依赖项以及所有第 3 方依赖项。
如果您想以编程方式完成此操作,那么您将需要一个自定义的依赖项渲染器 - 您可以从扩展AsciiDependencyReportRenderer默认情况下打印依赖项的 ascii 图表开始。
| 归档时间: |
|
| 查看次数: |
360283 次 |
| 最近记录: |