想要简化依赖项管理?在流程中添加一些工具可以加快速度,并指出可能需要更多关注的领域。
自动版本升级
Android Studio 会在编辑器中突出显示过时的库版本,并提供快速修复以升级它们。但这需要定期检查所有构建文件。
有很多第三方工具可以自动化此过程,升级您的构建文件,并可以选择为更改创建拉取请求。它们查找并更新每个依赖项的最新可用版本,但您仍然需要在发布之前分析结果以确保行为兼容性。一些流行的示例包括:
检查可用升级
Gradle 版本插件 提供了更手动升级的控制。运行其dependencyUpdates
任务(通过。/gradlew :dependencyUpdates
)会生成库依赖项较新版本的报告。这对于检查库状态和手动确定要在给定时间升级哪些库非常有用。
如果您使用自定义方法来指定依赖项版本,而不是版本目录,这将特别有用。
报告依赖项更改
升级您直接使用的库的版本可能会对您的应用程序产生更大的影响。您使用的每个库都可能需要其他库依赖项,从而形成更大的传递依赖图。
Dependency guard 显示了应用程序或库版本之间该图中的更改。这对于升级分析来说是一个宝贵的工具,可以确保您考虑直接和间接升级。
检测未使用的和误用的依赖项
保持构建的健康可以提高构建速度,并确保您的应用程序和库可以访问其所需的依赖项。依赖项分析 Gradle 插件 为您提供了检查构建文件中依赖项的工具,检查构建文件中是否正确使用。
其报告包括:
- 未使用的依赖项
- 使用的传递依赖项(如果您的直接依赖项停止使用这些依赖项,则应明确声明这些依赖项,以便您的应用程序可以访问它们)
- 在错误的范围中声明的依赖项
- 一些插件的不必要使用
- 依赖项的 GraphViz 视图
许可证管理
每个库的开发者都会为您的使用许可它们。您必须遵守许可条款,否则您将无法使用该库。有些许可证非常宽松,通常只需要通知其使用即可。有些被认为是“病毒式”的;如果您使用这些库,则必须将相同的许可证应用于您的应用程序或库。
许可证可能会随着任何版本而更改。每当您升级时,都应验证您使用的依赖项的许可方式是否与您的应用程序或库兼容。
报告许可证
Gradle License Report 插件有助于报告所有依赖项的许可证。升级任何依赖项时,请务必检查此报告。验证许可证是否符合您的要求,并确保您正在满足其所需条款。
生成许可证声明
许可条款通常要求应用程序用户或库使用者可以访问的声明。 Gradle License Plugin 生成数据或 HTML 以在您的应用程序中显示此类声明。
虽然这可以自动化您的许多声明要求,但它不会报告资源许可证(例如,字体、图像或声音所需的许可证)或您从互联网复制的代码片段的许可证。您需要手动跟踪和报告此类用法。