You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jetpack Compose项目出现Unresolved reference: compose错误求助

Jetpack Compose中Unresolved reference: compose错误解决

问题详情

编译Jetpack Compose Android应用时出现以下错误:

CryptoListScreen.kt: (26, 33): Unresolved reference: compose

相关代码

// import androidx.hilt.navigation.compose.hiltViewModel
@Composable
fun CryptoListScreen(
    navController: NavController,
    viewModel: CryptoListViewModel = hiltViewModel()
) {
    val state = viewModel.state.value
    Box(
        modifier = Modifier
            .fillMaxSize()
            .background(DeepBlue)
    ) {
        LazyColumn(modifier = Modifier.fillMaxSize()) {
            items(state.cryptos) { crypto ->
                CryptoListItem(
                    crypto = crypto,
                    onItemClick = {
                        android.util.Log.d("TODO-FIXME", "CryptoListScreen-onItemClick----------/${crypto.id}")
                        navController.navigate(
                            Screen.CryptoDetailScreen.route + "/${crypto.id}"
                        )
                })
            }
        }
        if (state.error.isNotBlank()) {
            Text(
                text = state.error,
                color = MaterialTheme.colors.error,
                textAlign = TextAlign.Center,
                modifier = Modifier
                    .fillMaxWidth()
                    .padding(horizontal = 20.dp)
                    .align(Alignment.Center)
            )
        }

        if (state.isLoading) {
            CircularProgressIndicator(
                modifier = Modifier.align(Alignment.Center)
            )
        }
    }
}

当前依赖配置(app/build.gradle)

dependencies {
    // TODO-FIXME implementation 'androidx.core:core-ktx:1.7.0'
    implementation 'androidx.appcompat:appcompat:1.4.1'
    implementation "com.google.android.material:material:$material_version"
    implementation "androidx.compose.ui:ui:$compose_version"
    implementation "androidx.compose.material:material:$compose_version"
    implementation "androidx.compose.ui:ui-tooling-preview:$compose_version"
    implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1'
    implementation 'androidx.activity:activity-compose:1.3.1'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
    androidTestImplementation "androidx.compose.ui:ui-test-junit4:$compose_version"
    debugImplementation "androidx.compose.ui:ui-tooling:$compose_version"

    // Compose dependencies
    implementation "androidx.lifecycle:lifecycle-viewmodel-compose:1.0.0-alpha07"
    implementation "androidx.navigation:navigation-compose:2.4.0-alpha08"
    // When using a MDC theme
    // TODO-FIXME-DEPRECATE implementation "com.google.android.material:compose-theme-adapter:1.1.16"

    // When using a AppCompat theme
    implementation "com.google.accompanist:accompanist-appcompat-theme:0.25.1"
    implementation "com.google.accompanist:accompanist-flowlayout:0.17.0"

    // Coroutines
    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version"
    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlin_coroutines_version"

    // Coroutine Lifecycle Scopes
    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version"

    //Dagger - Hilt
    implementation "com.google.dagger:hilt-android:$hilt_version"
    annotationProcessor "com.google.dagger:hilt-compiler:$hilt_version"
    kapt "com.google.dagger:hilt-android-compiler:$hilt_version"
    implementation("androidx.hilt:hilt-navigation-fragment:1.0.0")

    // Dagger - Hilt - For instrumentation tests
    androidTestImplementation  "com.google.dagger:hilt-android-testing:$hilt_version"
    androidTestAnnotationProcessor "com.google.dagger:hilt-compiler:$hilt_version"

    // Dagger - Hilt - For local unit tests
    testImplementation "com.google.dagger:hilt-android-testing:$hilt_version"
    testAnnotationProcessor "com.google.dagger:hilt-compiler:$hilt_version"

    // Retrofit
    implementation 'com.squareup.retrofit2:retrofit:2.9.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
    implementation "com.squareup.okhttp3:okhttp:5.0.0-alpha.2"
    implementation "com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.2"
}

解决步骤

  1. 添加Hilt-Compose导航依赖
    当前依赖仅引入了适配Fragment的Hilt导航库,Compose环境需要专用库。在dependencies块中添加:

    implementation "androidx.hilt:hilt-navigation-compose:1.0.0"
    
  2. 启用导入语句
    取消代码中注释掉的导入行:

    import androidx.hilt.navigation.compose.hiltViewModel
    
  3. 同步Gradle项目
    点击Android Studio工具栏中的"Sync Project with Gradle Files"按钮,确保新依赖下载并生效。

错误原因

hiltViewModel()函数定义在androidx.hilt:hilt-navigation-compose库的androidx.hilt.navigation.compose包下,项目既缺少该依赖,又注释了对应导入语句,导致编译器无法识别compose包引用,从而抛出错误。

内容的提问来源于stack exchange,提问作者Arunabh Das

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 21:40:27