androidx.compose.ui.tooling.preview.PreviewActivity不是活动子类或别名

我将我的 compose 和 kotlinCompilerExtensionVersion 更新为1.0.0-rc02from beta09,Kotlin version to 1.5.21,Gradle version to 7.1and Gradle plugin version to7.1.0-alpha04

从那时起 - 在尝试运行时MyScreen- 我收到此错误:

androidx.compose.ui.tooling.preview.PreviewActivity 不是活动子类或别名

我无法解决这个问题。我该如何解决?

回答

使用 Compose 1.0,Kotlin 1.5.10 和 Android Studio 2020.3.1 在大多数预览中仍然存在相同的问题(有些没有)

在这种情况下,在“编辑配置”中的顶部栏菜单中帮助手动创建新配置,其参数与无效配置中的参数相同并带有警告(“androidx.compose.ui.tooling.PreviewActivity 不是 Activity 子类或别名”)。这种新的手动创建的配置对我有用。


回答

我在使用 Bumblebee (AKA, 2021.1.1) Canary 6、7 和 8,使用 compose 版本 1.0.0、1.0.1 和 1.1.0-alpha01 时遇到此错误。我刚刚在 Studio 问题跟踪器上提出了一个错误:

https://issuetracker.google.com/issues/196248459

引用我自己的话:

很明显这是一个“左手不知道右手在做什么”的事情,因为PreviewActivity它不在那个包中,而是androidx.compose.ui.tooling-android.compose.ui.tooling.preview自 compose 1.0.0-beta09以来它一直没有出现。

更新

通过清除所有预览运行配置,我能够使预览再次工作。这是我的步骤:

  1. 单击“运行配置”选择器并选择编辑配置...
  2. 展开Compose Preview分组
  3. 选择所有预览配置(您可以选择第一个并shift-选择最后一个)
  4. 单击-按钮删除所有集合
  5. 点击 Ok
  6. 在文件菜单中运行Invalidate Caches...
  7. 在 AS 重新启动并重新填充缓存后,运行预览。它现在应该可以工作了。

显然,每次我启动预览时,AS 都会在它创建的临时运行配置中缓存“垃圾”。“垃圾”对早期版本的 AS 有效,但破坏了更高版本。清除此缓存让我再次工作。


以上是androidx.compose.ui.tooling.preview.PreviewActivity不是活动子类或别名的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>