Jetpack Compose项目Layout Inspector不显示重组计数选项求助
针对你遇到的Jetpack Compose项目无法在Layout Inspector中看到“Show Recomposition Counts”选项,且勾选“Filter System-Defined”后为空树的问题,结合你已排除的模拟器、Android Studio版本、Compose库版本及debug构建等因素,补充以下排查方向:
检查debug构建的代码压缩配置
即使是debug变体,若项目中开启了minifyEnabled true,会移除Compose重组追踪的相关代码。打开模块级build.gradle,确认debug块的配置:buildTypes { debug { minifyEnabled false // 确保此处为false // 其他配置... } }修改后重新构建并运行应用。
验证Compose Compiler版本匹配
确认项目中Compose Compiler的版本与Compose UI版本完全对应,版本不匹配会导致追踪功能失效。在项目根目录的build.gradle中检查:composeOptions { kotlinCompilerExtensionVersion "1.3.2" // 需与Compose UI版本一致 }调整为和Code-Labs示例一致的版本后重新构建。
排查是否禁用了Compose Debug特性
检查gradle.properties中是否存在禁用Compose调试特性的配置,这类配置可能间接影响Layout Inspector的功能:# 若存在以下配置,暂时注释后重试 # android.enableComposeCompilerMetrics=false # android.enableComposeCompilerReports=false清理缓存并重启Android Studio
执行File > Invalidate Caches... > Invalidate and Restart,同时手动删除项目的build文件夹或运行./gradlew clean命令,彻底清理后重新构建运行。检查R8规则是否误删Compose Tooling类
若debug构建启用了R8,即使minifyEnabled false,自定义的混淆规则可能移除androidx.compose.ui.tooling相关类。在proguard-rules.pro中添加规则保留相关类:-keep class androidx.compose.ui.tooling.** { *; }确认Activity的Compose UI加载方式
确保主Activity通过setContent加载Compose UI,若为混合布局,需保证ComposeView被正确添加到布局树中,否则Layout Inspector无法识别Compose层级。
内容的提问来源于stack exchange,提问作者SteveC

