SuperAPI AI 工具集

setting-up-compose-hotswan

编程与开发

查看项目

更新于 10-16 01:07

技能介绍

用途:Compose HotSwan 由 JetBrains IDE 插件与 Gradle 编译器插件组成,可将变更的 Kotlin 类在不到一秒内替换进真实设备或模拟器上运行的 Compose 应用,并保留导航、滚动与 remember 状态。本技能负责端到端安装两件套、接入规范 Gradle DSL 并验证首次保存到重载的往返。

主要能力与用法:在 libs.versions.toml 声明插件 hotswan-compiler = { id = "com.github.skydoves.compose.hotswan.compiler", version = "1.2.10" };根 build.gradle.kts 用 alias(libs.plugins.hotswan.compiler) apply false;各 Compose 模块用 alias(libs.plugins.hotswan.compiler) 应用,并配置 hotSwanCompiler { enabled = true; debugOnly = true }(注意大写 S)。同步 Gradle 后,通过 View -> Tool Windows -> HotSwan 打开工具窗口并点击 Start,状态应为 READY;用 Run 启动应用后状态变为 WATCHING;修改某个 composable 函数体内的颜色或文本并保存,变更应在一秒内出现在设备上。

前提:Android Studio 2024.3+ 或 IntelliJ IDEA 2024.3+、Kotlin 2.0+ 且已应用 org.jetbrains.kotlin.plugin.compose、Gradle 8+、开启 USB 调试且 adb devices 可见的设备或模拟器、已从 JetBrains Marketplace 安装 HotSwan IDE 插件。

限制与规则:必须设置 debugOnly = true,发布构建不得携带 HotSwan 变换;仅在 Compose 模块应用该 Gradle 插件;不得在源码层依赖 HotSwan 类或注解;不得与过期的 Compose Compiler 混用;版本需在 libs.versions.toml 中固定。结构变更(参数、构造函数、接口、inline 函数、新资源 id)不会热重载;状态丢失可能因级联到 composition 重置或 Activity.recreate()。本技能不涉及 JetBrains Live Edit、Compose Preview 渲染及状态保留细节。验证方式包括 ./gradlew :app:buildEnvironment 列出插件、工具窗口显示 WATCHING、保存后一秒内生效、remember/滚动/返回栈保留、release 构建不含 HotSwan 变换、源码无 com.github.skydoves.compose.hotswan.* 导入。