检查是否在Android应用中使用了库

AAD*_*ing 18 dependencies android libraries build.gradle android-gradle-plugin

我收到了一些遗留的应用程序代码(不是由我开发的,而是由其他团队开发的,没有文档),其中有近20个依赖项build.gradle.

现在,我想通过删除它们来清理未使用的库/依赖项 build.gradle

我在谷歌搜索并遇到了这个项目资源缩减.但它似乎用于在打包的应用程序中删除构建时未使用的资源,如果应用程序实际上不需要它们,这也会从您依赖的库中删除资源.

另外,我使用ProGuard,与shrinkResources truein in一起进行混淆和收缩build.gradle

我的目的是从build.gradle本身删除未使用的库/依赖项,而不会破坏应用程序功能.

有没有一种方法或工具可以显示哪些库可以安全删除而不会破坏应用程序功能?

And*_*gin 6

通过 20 多个依赖项,您不需要任何工具,并且可以进行手动检查。

我会这样继续:

  1. 注释掉所有依赖项并检查失败的内容(见下文)
  2. 取消注释导致失败的依赖项
  3. 重复

这样,您可能还会注意到很少使用或可以用标准库或项目中使用的其他库替换的依赖项。

以下内容将表明您需要依赖项(按照减慢反馈循环的顺序):

  • 编译错误
  • 单元测试错误
  • 集成/系统/端到端/设备测试错误(无论您使用和称呼它们)
  • 运行时的应用程序功能
  • 运行时的应用程序性能

运行时依赖关系可能特别棘手。例如,您的代码可能不依赖于某个库,但该库为您依赖的某些其他库提供了运行时实现。删除此类依赖项只会在运行时表现为缺少功能或性能问题。