androidx.compose.ui.tooling.preview.PreviewActivity 不存在 - Jetpack Compose

androidx.compose.ui.tooling.preview.PreviewActivity does not exist - Jetpack Compose

提问人:Ankush 提问时间:10/12/2023 最后编辑:Ankush 更新时间:11/5/2023 访问量:139

问:

我一直在处理这个问题,在运行可组合项的预览时,我收到并出错

Error while executing: am start -n "com.site.app/androidx.compose.ui.tooling.preview.PreviewActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER --es composable com.site.app.ui.MainActivity.MainAppPreview
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.site.app/androidx.compose.ui.tooling.preview.PreviewActivity (has extras) }
Error type 3
Error: Activity class {com.site.app/androidx.compose.ui.tooling.preview.PreviewActivity} does not exist.

Error while Launching activity
Failed to launch an application on all devices

我检查了包结构,并且不存在,但它在 .PreviewActivityandroidx.compose.ui.tooling.previewandroidx.compose.ui.tooling

我发现了一个类似的问题,但它很旧,基本上无效的缓存并没有为我解决问题。

我正在瞄准

  • 编译SDK版本34,因为最新的稳定导航版本2.7.4。
  • Compose 版本 1.5.3
  • 也使用刀柄
  • implementation "androidx.compose.ui:ui-tooling-preview:1.5.3"
  • debugImplementation "androidx.compose.ui:ui-tooling:1.5.3"

在我看来,问题出在gradle版本控制的某个地方,因为它检查PreviewActivity的路径本身是错误的。我在一个较旧的项目上测试了该行为,即使路径也是正确的,事情也很好。

Android Kotlin android-gradle-plugin android-jetpack-compose

评论

0赞 Jaspalsinh Gohil 10/12/2023
如果您尚未导入 androidx.compose.ui.tooling 库,或者尚未将该库包含在项目的 build.gradle 文件中,则可能会发生这种情况。
0赞 Ankush 10/12/2023
@JaspalsinhGohil 已在使用工具库。也更新了问题。
0赞 Jaspalsinh Gohil 10/12/2023
尝试像这个实现“androidx.compose.ui:ui-tooling:1.5.3”一样删除debugImplementation,并更新这个实现“androidx.compose.ui:ui-tooling-preview:1.5.3-rc02”并检查它是否有效
0赞 Ankush 10/12/2023
@JaspalsinhGohil 根据此 developer.android.com/jetpack/compose/tooling tooling:<version> 用于调试实现。我认为它不应该与实施一起工作。此外,我尝试添加 rc02,但没有运气。这似乎不是版本控制问题,因为 PreviewActivity 在结构中可用。预览时,它没有引用正确的路径。

答:

2赞 Chirag Thummar 10/12/2023 #1

我也面临着与下面的库依赖项相同的问题

implementation "androidx.compose.ui:ui-tooling-preview:1.3.3"

然后我删除了预览库并使用了它的根库,它为我生成了一个预览。

现在我正在为我的项目使用以下依赖项。

implementation "androidx.compose.ui:ui-tooling:1.3.3"

评论

0赞 Ankush 10/14/2023
我在另一个项目中也有类似的设置,它同时使用工具预览和工具。我不认为这是问题所在。我目前使用的 compose 版本 1.5.3 可能有问题!
0赞 Chirag Thummar 10/14/2023
通过更改版本在旧项目上试用它composeCompiler
1赞 Ankush 11/5/2023 #2

正如我所怀疑的那样,问题出在撰写版本上。在开发过程中,compose 版本进来了,解决了被引用的问题1.5.4PreviewActivityandroidx.compose.ui.tooling.preview