利用Gradle的依赖检查

上面一种方式利用了Gradle的被动通知机制,但是这种方式始终需要开发者进行check,只能算是一种被动的通知机制。

实际上,利用Gradle提供的task可以很方便地解决依赖问题,用到的Gradle指令就是gradle androidDependencies,使用效果如下所示。

  1. GradleTest git:(master) gradle androidDependencies
  2. :app:androidDependencies
  3. debug
  4. +--- LOCAL: okhttp-2.4.0.jar
  5. +--- com.android.support:appcompat-v7:23.1.1
  6. | \--- com.android.support:support-v4:23.1.1
  7. | \--- LOCAL: internal_impl-23.1.1.jar
  8. \--- GradleTest:testlibrary1:unspecified
  9. \--- com.android.support:appcompat-v7:23.1.1
  10. \--- com.android.support:support-v4:23.1.1
  11. \--- LOCAL: internal_impl-23.1.1.jar

通过这个指令,可以很方便地找到每种buildType下的依赖关系图。这样当某个依赖库发生变更的时候,就可以通过这个task检查每个项目下是否包含该依赖库的引用。如果有,则需要提示开发者进行依赖库的更新,而且更关键的是这一切都可以使用Python脚本实现自动化。