如何检测Gradle项目中实际被使用的依赖项
查找Gradle依赖使用情况的实用方法
用Android Studio内置分析工具
打开Android Studio,点顶部菜单栏的Analyze->Run Inspection by Name,搜索Unused declaration,选择整个项目运行分析。分析结束后,在Android分类下的Unused dependencies里会列出没被使用的依赖。这个工具会扫描代码里是否引用了依赖的类、方法,准确率不错。借助Gradle命令行排查
执行命令:./gradlew :app:dependencies --configuration releaseRuntimeClasspath(Windows环境用gradlew.bat替代./gradlew),会输出完整的依赖树,你可以对照代码检查哪些依赖的类完全没出现过。另外,运行./gradlew :app:lint,lint检查也会提示未使用的依赖。注释依赖试编译
拿不准的依赖,先注释掉对应的implementation行,同步Gradle后编译项目。如果编译报错,说明这个依赖还在被用;要是编译通过,基本就是没用到的。注意有些依赖是被其他依赖间接引用的,注释后可能不会报错,这时候就得结合依赖树判断。留意特殊引用场景
有些依赖是通过反射、动态加载或者Manifest配置(比如第三方SDK的meta-data、service声明)来使用的,静态分析工具可能查不出来。这时候得结合业务逻辑,检查有没有动态调用的代码,或者查看Manifest文件里的相关配置。
内容的提问来源于stack exchange,提问作者Darksymphony
相关产品推荐
相关产品推荐

