DataStoreFile недоступен?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 DataStoreFile недоступен?

Сообщение Anonymous »

Моя реализация DataStore в приложении Java для Android не может найти DataStoreFile:

Код: Выделить всё

java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/datastore/DataStoreFile;
at androidx.datastore.rxjava3.RxDataStoreBuilder$build$delegateDs$2.invoke(RxDataStoreBuilder.kt:155)
at androidx.datastore.rxjava3.RxDataStoreBuilder$build$delegateDs$2.invoke(RxDataStoreBuilder.kt:154)
at androidx.datastore.core.FileStorage.createConnection(FileStorage.kt:48)
at androidx.datastore.core.DataStoreImpl$storageConnectionDelegate$1.invoke(DataStoreImpl.kt:189)
at androidx.datastore.core.DataStoreImpl$storageConnectionDelegate$1.invoke(DataStoreImpl.kt:188)
...
Вот зависимости build.gradle.kts моего приложения:

Код: Выделить всё

dependencies {
...
implementation(libs.datastore)
//    implementation(libs.datastore.core)
//    implementation(libs.datastore.rxjava2)
implementation(libs.datastore.rxjava3)
implementation(libs.protobuf.javalite)
}

... и из libs.versions.toml:

Код: Выделить всё

[versions]
datastore = "1.1.1"
protobuf = "4.26.1"
...

[libraries]
datastore = { module = "androidx.datastore:datastore", version.ref = "datastore" }
datastore-core = { module = "androidx.datastore:datastore-core", version.ref = "datastore" }
datastore-rxjava2 = { module = "androidx.datastore:datastore-rxjava2", version.ref = "datastore" }
datastore-rxjava3 = { group = "androidx.datastore", name = "datastore-rxjava3", version.ref = "datastore" }
protobuf-javalite = { module = "com.google.protobuf:protobuf-javalite", version.ref = "protobuf" }
...
Вот хранилище данных Android Studio и внешние библиотеки ProtoBuf:

Код: Выделить всё

Gradle: androidx.datastore:datastore-core-jvm:1.1.1
Gradle: androidx.datastore:datastore-core-okio-jvm:1.1.1
Gradle: androidx.datastore:datastore-jvm:1.1.1
Gradle: androidx.datastore:datastore-rxjava3:1.1.1@aar
...
Gradle: com.google.protobuf:protobuf-javalite:4.26.1
...

И вот как я создаю хранилище данных Proto:

Код: Выделить всё

RxDataStore serviceStore = new RxDataStoreBuilder(App.getAppContext(), "service.pb", new ServiceSerializer()).build();
Я пробовал очищать и перестраивать, аннулировать кеши, использовать разные версии библиотек и т. д., но, похоже, мне не удалось решить эту проблему. Я упомянул, что это Java-приложение, потому что мне интересно, может ли быть какая-то зависимость Kotlin, которая поможет этому работать.
Как включить DataStoreFile?

Подробнее здесь: https://stackoverflow.com/questions/784 ... -available
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»