这仅在我更新到 1.0.0-rc01 时发生在我身上。 它说:
<块引用>找不到以下类: - androidx.compose.ui.tooling.preview.ComposeViewAdapter(修复构建路径、编辑 XML、创建类)
我的代码:
@Composable
@Preview
fun CenterProgress(){
Box(
modifier= Modifier.fillMaxSize(),
contentAlignment = Alignment.Center
){
CircularProgressIndicator(strokeWidth = 3.dp)
}
}
答案 0 :(得分:54)
2021 年 7 月 20 日更新: 只需下载并使用最新的 AS ArcticFox RC1 即可解决问题
他们在 rc01 中拆分了一些包,但根据 @CommonsWare 评论(所有功劳都归功于他)似乎 Android Studio 版本本身存在问题。 您有 2 个选择:
1.0.0-rc01
版本,并仅将 ui-tooling
降级为 1.0.0-beta09
(已通过评论确认)。额外的细节
您可以在此处找到他们在 1.0.0-rc01
https://android-review.googlesource.com/c/platform/frameworks/support/+/1739498 中搬迁的所有班级以及有关决定原因的说明。
简而言之,您现在可以针对某些特定优化方案(这不应是默认情况)执行此操作:
debugImplementation "androidx.compose.ui:ui-tooling:1.0.0-rc01"
implementation "androidx.compose.ui:ui-tooling-preview:1.0.0-rc01"
答案 1 :(得分:19)
更新:Android Studio Bumblebee 不再需要此功能 | 2021.1.1 Canary 6 和 Android Gradle 插件 7.1.0-alpha06。注意:Canary 4 已经修复了这个问题,但需要一个损坏的 AGP 版本。现在也解决了。
除了上面的答案:这里是如何在 gradle 中强制使用 ui-tooling 版本:
implementation("androidx.compose.ui:ui-tooling:$compose_version") {
version {
// TODO: Remove this when Android Studio has become compatible again
// Android Studio Bumblebee | 2021.1.1 Canary 3 is not compatible with module ui-tooling 1.0.0-rc01 or higher.
// The Run Configuration for Composable Previews that Android Studio makes expects a PreviewActivity class
// in the `androidx.compose.ui.tooling.preview` package, but it was moved in 1.0.0-rc01, and thus causes error:
// "androidx.compose.ui.tooling.preview.PreviewActivity is not an Activity subclass or alias".
// For more, see: https://stackoverflow.com/questions/68224361/jetpack-compose-cant-preview-after-updating-to-1-0-0-rc01
strictly("1.0.0-beta09")
}
}
答案 2 :(得分:3)
人们在降级 ui-tooling 库时仍然遇到错误:
确保你没有依赖 ui-tooling 的库:1.0.0-rc01 您可以通过在您的 android studio 终端中使用 ./gradlew app:dependencies 来找到这一点
就我而言,我使用的是 com.google.accompanist:accompanist-swiperrefresh:13.0.0,它依赖于 ui-tooling:1.0.0-rc01。当我降级到伴奏-swiperrefresh:12.0.0
时,预览正在工作答案 3 :(得分:2)
我像上面的评论一样尝试了它,它实际上对我有帮助,只是我不得不删除:
链接至北极狐 Beta 5:
https://developer.android.com/studio/preview
androidx.compose.ui:ui-tooling-preview.
我的撰写配置如下所示:
android {
def compose_version = '1.0.0-rc01'
composeOptions {
kotlinCompilerExtensionVersion "$compose_version"
}
dependencies {
def compose_version = '1.0.0-rc01'
/**Compose Related*/
implementation "androidx.compose.compiler:compiler:$compose_version"
implementation "androidx.compose.ui:ui:$compose_version"
implementation "androidx.activity:activity-compose:1.3.0-rc01"
implementation "androidx.compose.material:material:$compose_version"
implementation "androidx.compose.ui:ui-tooling:1.0.0-beta09"
// Need to comment this two lines to work on artic fox
// implementation "androidx.compose.ui:ui-tooling:$compose_version"
// implementation "androidx.compose.ui:ui-tooling-preview:$compose_version"
/**Accompanist*/
// Coil
implementation 'dev.chrisbanes.accompanist:accompanist-insets:0.6.2'
implementation "com.google.accompanist:accompanist-coil:0.13.0"
implementation "androidx.compose.runtime:runtime:$compose_version"
implementation "androidx.compose.runtime:runtime-livedata:$compose_version"
/** Material Icons */
implementation "androidx.compose.material:material-icons-extended:$compose_version"
// Jetpack Compose Integration
implementation "androidx.navigation:navigation-compose:2.4.0-alpha04"
}
}