android - `dependencies` 和 `androidDependencies` 之间的输出不同

标签 android gradle android-gradle-plugin dependencies gradlew

两者有什么区别

./gradlew:app:依赖项

./gradlew :app:androidDependency

我注意到的是,androidDependency 在输出图中包含 .jar.aar。为什么会出现这种情况?有没有办法通过依赖项将这些文件包含在依赖项输出中?

最佳答案

您可以运行 ./gradlew :app:tasks 来查看 :app 项目中可运行的每个 Gradle 任务的简短描述。我看到的每个 androidDependencydependency Gradle 任务的描述如下:

androidDependencies - Displays the Android dependencies of the project.
dependencies - Displays all dependencies declared in project ':app'.

遗憾的是,这里的描述并没有很好地区分这两个 Gradle 任务。但是,在运行这两个 Gradle 任务中的每一个时,我在输出中看到两个差异,如下所示:

  1. androidDependencies 任务会调用该库是否打包为 aar 还是 jardependency 任务不提供此信息。 (您已经在问题中指出了这种差异。)
  2. androidDependencies 任务打印项目依赖项的扁平化列表。另一方面,dependencies 任务会打印项目依赖项的嵌套图。

这两个任务之间的另一个区别是,您可以向 dependencies 任务提供 --configuration 选项,以将其输出限制为单个配置。例如,如果您运行 ./gradlew :app:dependencies --configuration debugCompileClasspath,这将仅显示 debugCompileClasspath 配置的依赖项。 --configuration 选项不可用于 androidDependencies 任务。

关于android - `dependencies` 和 `androidDependencies` 之间的输出不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70371118/

相关文章:

android - 代理下的gradle同步上的Android Studio 403禁止错误

java - 配置 'compile' 已过时,已替换为 'implementation' 和 'api' 。将于2018年底删除

android - 无法在库模块中使用本地 .aar 文件

android-studio - Java-Android Studio build.gradle:无法解决:com.android.support:appcompat-v7:8

android - 这个 Activity 已经有一个由窗口装饰提供的操作栏

Android - 强制后台应用程序释放所有内存和任何其他资源

java - 如何使实例在我的 Android 应用程序中的任何位置可用或可访问

android - 使用 GDK 更新 Google Glass 中的卡片文本?

java - 在 NetBeans IDE 中使用 gradle 和 tomcat 运行多个 war

java - Gradle坚持下载一些依赖项(Android Studio)