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

JVM环境下无法访问androidx.datastore.preferences.core.Preferences.Key类求助

解决JVM环境下DataStore Preferences依赖缺失问题

问题原因

androidx.datastore.preferences.core.Preferences类属于DataStore Preferences库,默认的Android版依赖无法在纯JVM环境中被识别,必须引入专门的JVM目标依赖包。

解决方案

1. 添加正确的Gradle依赖

在项目的build.gradle.kts(Kotlin DSL)或build.gradle(Groovy)中,替换或添加JVM专属的DataStore Preferences依赖:

Kotlin DSL示例:

dependencies {
    implementation("androidx.datastore:datastore-preferences-jvm:1.1.0")
    // 确保引入协程依赖,Flow功能需要它
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3")
}

Groovy示例:

dependencies {
    implementation 'androidx.datastore:datastore-preferences-jvm:1.1.0'
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3'
}

2. 验证导入语句

确保代码中已正确导入所需类:

import androidx.datastore.preferences.core.Preferences
import androidx.datastore.preferences.core.Preferences.Key
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map

3. 正确初始化JVM环境下的DataStore

纯JVM环境不能使用Android的Context初始化DataStore,需通过PreferencesDataStoreFactory指定存储文件路径:

import androidx.datastore.preferences.core.Preferences
import androidx.datastore.core.PreferencesDataStoreFactory
import java.io.File

val dataStore = PreferencesDataStoreFactory.create(
    produceFile = { File(System.getProperty("user.home"), "app_preferences.preferences_pb") }
)

完成以上步骤后,重新同步Gradle并编译代码,即可解决Unresolved reference 'Preferences'的错误。

内容的提问来源于stack exchange,提问作者Mohammad Mohammadi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 05:22:06