上次讲了构建速度优化,这次讲一下如何使用自带的构建分析工具来分析
生成构建分析的执行步骤
- 在 Android Studio 中打开您的项目后,选择 View > Tool Windows > Terminal 以在项目的根目录下打开命令行。
- 输入以下命令来执行干净构建 在不同构建之间运行 clean 任务可以确保您分析完整的构建进gradlew clean。
- 使用以下命令行为您的 Flavor 之一(例如 Debug Flavor )执行调试构建。
gradlew --profile --recompile-scripts --offline --rerun-tasks assembleFlavorDebug
- --profile:启用分析。
- --recompile-scripts:在绕过缓存时强制重新编译脚本。
- --offline:禁止 Gradle 提取在线依赖项。这样可以确保 Gradle 在尝试更新依赖项时引起的任何延迟都不会干扰您的分析数据。您应当已将项目构建一次,以便确保 Gradle 已经下载和缓存您的依赖项。
- --rerun-tasks:强制 Gradle 重新运行所有任务并忽略任何任务优化。
注意,最后的参数对应的写法是 assemble [productFlavor] [buildType]。 比如 productFlavor 是 beta 而 buildType 是 debug ,则写成 assembleBetaDebug
在构建完成后,请使用 Project 窗口导航至 project-root/build/reports/profile/
,打开网页,即可看到分析结果
如何看构建分析
- 如果您的构建分析显示 Gradle 在配置项目时花费了过多的时间,可能表明您需要将自定义构建逻辑移出配置阶段。
- 如果
mergeDevDebugResources
任务占用了大量构建时间,则表明您还需要将图像转换成 WebP 或者停用 PNG 处理。 - 包含大型代码库的项目可能会受益于使用 ProGuard 移除未使用的代码和压缩 APK 大小,而较小的项目则可能从完全停用 ProGuard 中受益