代码质量门禁:Lint Detekt集成技巧 - 第4节

开发环境准备:把工具箱收拾利索

要搞代码质量门禁,第一步不是写规则,是先把环境搭稳。我个人习惯是,新项目开干前先花半小时把工具链理顺。别小看这一步,我在项目里见过太多人,因为Gradle版本对不上、Kotlin插件冲突,一折腾就是一整天。

核心要点:一个干净、版本一致、可复现的开发环境,能帮你省掉80%的「这代码在我机器上能跑」的尴尬。

1. 安装Android Studio —— 选对版本很重要

说白了,Android Studio 就是咱们的主战场。我建议你直接用最新稳定版。别追预览版,除非你喜欢当小白鼠。

版本 推荐指数 备注
Android Studio Hedgehog (2023.1.1) ⭐⭐⭐⭐⭐ 当前最稳,自带Kotlin 1.9.x
Android Studio Iguana (2023.2.1) ⭐⭐⭐⭐ 新特性多,但插件兼容性要确认
预览版 / Canary ⭐⭐ 不推荐用于生产项目
小技巧:装好后第一件事,打开 Preferences → Appearance & Behavior → System Settings → Updates,把自动更新关掉。你肯定不希望在项目冲刺时,IDE突然要你重启更新。

2. 配置Kotlin项目 —— 别让版本成了绊脚石

新建项目时,很多人直接点「Next」就过了。嗯,这里要注意,有几个选项一定要亲手确认。

// 在 build.gradle.kts (Project级别) 里
plugins {
    // 指定Kotlin版本,和你的项目目标一致
    id("org.jetbrains.kotlin.android") version "1.9.22" apply false
    // AGP版本不要乱升级
    id("com.android.application") version "8.2.2" apply false
}

为什么会这样?因为Detekt和Lint的规则集,往往跟Kotlin编译器的版本绑定。我曾经有一次,团队里有人用了Kotlin 1.8.x,有人用了1.9.x,结果Detekt报的警告完全不同。从那以后,我要求所有成员必须用统一的版本。

  • Kotlin版本:建议用1.9.x以上,对Detekt支持更好
  • AGP版本:和Kotlin版本兼容就行,别追新
  • 编译SDK:设为34(Android 14),兼容性更稳
注意:假如你在项目中混用了Java和Kotlin,记得显式配置 Java 版本。我曾经踩过坑,项目里Java 11写的模块,因为没设 targetCompatibility,编译直接炸了。

3. Gradle基础 —— 你得懂它,但不一定要精通

很多人对Gradle又爱又恨。我觉得你就把它想象成项目的「包工头」。它负责拉依赖、编译、打包。你只需要会下几个关键命令就行。

// 常用Gradle任务
./gradlew tasks                 // 查看所有可用任务
./gradlew lint                 // 跑Lint检查
./gradlew detekt               // 跑Detekt检查
./gradlew assembleDebug        // 打Debug包
./gradlew --daemon             // 开启守护进程,加速构建

你想想看,如果连这些基础命令都不熟,后面集成质量门禁时,你会寸步难行。

我的习惯:在项目根目录写一个 .gradle/init.gradle.kts,把公共配置(比如仓库地址、插件版本)统一管理。这样换电脑或者加新人时,一句 git clone 就搞定。

4. 模拟器与真机调试 —— 别只在模拟器上跑

代码质量门禁不止检查语法,有些运行时的问题也得提前发现。我建议你至少有一台真机做调试。

  • 模拟器:适合快速验证UI和基础逻辑
  • 真机:必须,特别是涉及传感器、定位、多屏幕适配时

我曾经在模拟器上跑得好好的,一上真机就各种ANR(应用无响应)。后来发现是代码里用了过时的线程管理方式。Lint和Detekt能帮你提前发现这类问题,但前提是环境支持你跑这些检查。

整体流程一览

别嫌我啰嗦。把环境搭好,后面集成Lint和Detekt的时候,你会感谢现在的自己。下面是这一章的知识结构,画成图就是这样:

第4章:开发环境准备 ① 安装Android Studio ② 配置Kotlin项目 ③ Gradle基础 选择稳定版 关掉自动更新 统一Kotlin版本 指定Java兼容性 掌握关键命令 配置守护进程 提示 环境一致性是代码质量门禁的基石。团队成员统一版本, 可以避免90%因环境差异导致的误报和漏报。

5. 实践环节:动手创建一个Kotlin项目

光说不练假把式。我建议你立刻打开Android Studio,照着下面这几步走一遍:

  1. 新建项目:选择「Empty Views Activity」,语言选Kotlin
  2. 检查Gradle版本:打开 gradle/wrapper/gradle-wrapper.properties,确认 distributionUrl 指向的版本是8.4以上
  3. 配置Detekt(提前尝鲜):在 build.gradle.kts (Module级别) 里先加上Detekt插件声明,下一章我们会详细讲配置
  4. 运行Lint:终端输入 ./gradlew lint,看看有没有报错
// 在 app/build.gradle.kts 里添加Detekt插件(预告)
plugins {
    id("io.gitlab.arturbosch.detekt") version "1.23.5"
}

detekt {
    config = files("$projectDir/config/detekt/config.yml")
}
注意:如果 ./gradlew lint 跑不动,大概率是Gradle缓存问题。先执行 ./gradlew clean 再试。我曾经因为缓存没清,浪费了半天查一个根本不存在的错误。