跳过内容
🤔 文档问题? 报告编辑

LeakCanary 贡献者的开发环境

设置

  • 下载 Android Studio
  • 我们使用双空格代码缩进,使用来自 https://github.com/square/java-code-stylesSquareAndroid 代码风格设置。
  • 使用 ./gradlew build 进行构建。
  • 运行会失败的 UI 测试以确认泄漏检测正确地导致 UI 测试失败:./gradlew leakcanary-android-sample:connectedCheck
  • 正常 UI 测试:./gradlew leakcanary-android-core:connectedCheck

静态代码分析

  • LeakCanary 使用 Detekt 进行静态代码分析。
  • 使用 ./gradlew check 分析整个项目,或使用 ./gradlew :module-name:check 分析特定模块。如果发现任何规则集违规,Detekt 将导致构建失败。在将分支推送到远程之前,你应该修复所有问题
  • 还有一个 git pre-push 钩子,它会在将分支推送到远程之前自动运行分析。如果存在任何违规,它将阻止推送。修复这些问题!
  • 不过你可以绕过 git 钩子;Travis CI 仍然会运行检查,如果发现任何违规,它将失败。
  • Detekt 报告将打印在控制台中,并保存到 /moduleDir/build/reports/

本地部署

要将 LeakCanary 部署到你的本地 Maven 仓库,运行以下命令,将路径更改为你本地仓库的路径

./gradlew uploadArchives -PSNAPSHOT_REPOSITORY_URL=file:///Users/py/.m2/repository

然后将 SNAPSHOT 依赖和 mavenLocal() 仓库添加到你的项目

dependencies {
  debugImplementation 'com.squareup.leakcanary:leakcanary-android:3.0-alpha-9-SNAPSHOT'
}

repositories {
  mavenLocal()
}

本地部署文档

安装或更新文档依赖

pip install --requirement docs/requirements.txt

本地部署

mkdocs serve