部署Jetpack Compose Preview报错PreviewActivity不是Activity子类如何解决?
问题根因
你遇到的是Android Studio Arctic Fox RC1与Compose 1.0.0-rc02配套版本的已知工具链缺陷,并非你的操作有误。
该版本的IDE预览部署逻辑存在关键词匹配bug,当预览函数名称命中特定字符组合(比如你这里的ComposablePreview)时,会生成错误的运行配置,错误识别目标预览Activity,从而抛出你遇到的报错:
androidx.compose.ui.tooling.preview.PreviewActivity is not an activity subclass or alias
解决方案
临时规避方案
- 直接修改报错的预览函数名称,避免使用
ComposablePreview这类命中bug规则的命名,比如将ComposablePreview改为CommonTextPreview即可正常部署 - 也可以手动修正运行配置:点击顶部运行栏的配置下拉框,选择「Edit Configurations」,删除对应报错的预览运行配置,重新点击预览函数旁的运行按钮,让IDE重新生成正确配置即可
- 确认Module级别的build.gradle中已正确添加预览工具依赖:
dependencies { debugImplementation "androidx.compose.ui:ui-tooling:$composeVersion" }
永久修复方案
将开发环境升级到稳定版即可彻底解决该问题:
- Android Studio升级到Arctic Fox 2020.3.1 稳定版及以上
- Compose版本升级到1.0.0 稳定版及以上
- Kotlin版本同步升级到1.5.21及以上,和Compose版本匹配
内容的提问来源于stack exchange,提问作者S Haque
相关产品推荐
相关产品推荐

