分析和自动化依赖项升级

想要简化依赖项管理?在流程中添加一些工具可以加快速度,并指出可能需要更多关注的领域。

自动版本升级

Android Studio 会在编辑器中突出显示过时的库版本,并提供快速修复以升级它们。但这需要定期检查所有构建文件。

有很多第三方工具可以自动化此过程,升级您的构建文件,并可以选择为更改创建拉取请求。它们查找并更新每个依赖项的最新可用版本,但您仍然需要在发布之前分析结果以确保行为兼容性。一些流行的示例包括:

检查可用升级

Gradle 版本插件 提供了更手动升级的控制。运行其dependencyUpdates任务(通过。/gradlew :dependencyUpdates)会生成库依赖项较新版本的报告。这对于检查库状态和手动确定要在给定时间升级哪些库非常有用。

如果您使用自定义方法来指定依赖项版本,而不是版本目录,这将特别有用。

报告依赖项更改

升级您直接使用的库的版本可能会对您的应用程序产生更大的影响。您使用的每个库都可能需要其他库依赖项,从而形成更大的传递依赖图。

Dependency guard 显示了应用程序或库版本之间该图中的更改。这对于升级分析来说是一个宝贵的工具,可以确保您考虑直接和间接升级。

检测未使用的和误用的依赖项

保持构建的健康可以提高构建速度,并确保您的应用程序和库可以访问其所需的依赖项。依赖项分析 Gradle 插件 为您提供了检查构建文件中依赖项的工具,检查构建文件中是否正确使用。

其报告包括:

  • 未使用的依赖项
  • 使用的传递依赖项(如果您的直接依赖项停止使用这些依赖项,则应明确声明这些依赖项,以便您的应用程序可以访问它们)
  • 在错误的范围中声明的依赖项
  • 一些插件的不必要使用
  • 依赖项的 GraphViz 视图

许可证管理

每个库的开发者都会为您的使用许可它们。您必须遵守许可条款,否则您将无法使用该库。有些许可证非常宽松,通常只需要通知其使用即可。有些被认为是“病毒式”的;如果您使用这些库,则必须将相同的许可证应用于您的应用程序或库。

许可证可能会随着任何版本而更改。每当您升级时,都应验证您使用的依赖项的许可方式是否与您的应用程序或库兼容。

报告许可证

Gradle License Report 插件有助于报告所有依赖项的许可证。升级任何依赖项时,请务必检查此报告。验证许可证是否符合您的要求,并确保您正在满足其所需条款。

生成许可证声明

许可条款通常要求应用程序用户或库使用者可以访问的声明。 Gradle License Plugin 生成数据或 HTML 以在您的应用程序中显示此类声明。

虽然这可以自动化您的许多声明要求,但它不会报告资源许可证(例如,字体、图像或声音所需的许可证)或您从互联网复制的代码片段的许可证。您需要手动跟踪和报告此类用法。