Nosuchmethodexception в уведомлениях Синквейдер с ручным и рабочим манажером (Kotlin, Hilt 2.56.2, Workmanager 2.9.0)Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Nosuchmethodexception в уведомлениях Синквейдер с ручным и рабочим манажером (Kotlin, Hilt 2.56.2, Workmanager 2.9.0)

Сообщение Anonymous »

Сообщество! Я начинающий разработчик Android, и у меня в голове беспорядок в попытке выяснить эту проблему. Я использую рукоятку с Workmanager для синхронизации уведомлений в фоновом режиме в моем приложении, но я сталкиваюсь с ошибкой java.lang.nosuchmethodexception при попытке создать экземпляр уведомлений Syncworker . Кажется, что я правильно настроил, но я что -то упускаю. Пожалуйста, помогите мне выяснить, где ошибка, или сообщите мне, как лучше отладить!

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

2025-07-10 13:35:31.107  7160-7238  WM-WorkerFactory    com.android.tracker_mobile   E  Could not instantiate com.android.tracker_mobile.data.worker.NotificationSyncWorker
java.lang.NoSuchMethodException: com.android.tracker_mobile.data.worker.NotificationSyncWorker. [class android.content.Context, class androidx.work.WorkerParameters]
at java.lang.Class.getConstructor0(Class.java:3395)
...
2025-07-10 13:35:31.107  7160-7238  WM-WorkerWrapper    com.android.tracker_mobile   E  Could not create Worker com.android.tracker_mobile.data.worker.NotificationSyncWorker
< /code>
 Конфигурация проекта < /h2>
[list]
[*]  [b] language < /strong>: kotlin 2.1.21 < /p>
< /li>
   hilt < /strong>: < /p>
    hilt < /strong>: < /p>

hilt < /strong>: < /p>

 hilt < /prong>: < /p>

 hilt < /prong>: < /p>
com.google.dagger:hilt-android:2.56.2
(ksp)

[*]

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

androidx.hilt:hilt-work:1.0.0
(kapt)

[*]

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

androidx.hilt:hilt-compiler:1.0.0
(kapt)

[/list]

[*] workmanager [/b]: androidx.work:work-runtime-ktx:2.9.0/code>>
. 8.9.2

[*] плагины : kotlin-kapt , com.google.devtools.ksp: 2.1.21-2.0.1

stron 35 < /p>
< /li>
< /ul>
build.gradle.kts

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

plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
alias(libs.plugins.ksp)
id("com.google.dagger.hilt.android")
id("kotlin-kapt")
}

dependencies {
implementation(libs.hilt.android)
ksp(libs.hilt.compiler)
implementation(libs.hilt.navigation.compose)
implementation(libs.androidx.work.runtime.ktx)
implementation(libs.androidx.hilt.work)
kapt(libs.androidx.hilt.work.compiler)
}
< /code>
функциональный
< /code>
 класс приложения < /h3>
@HiltAndroidApp
class TrackerApplication : Application(), Configuration.Provider {
@Inject lateinit var workerFactory: HiltWorkerFactory

override val workManagerConfiguration: Configuration
get() = Configuration.Builder()
.setWorkerFactory(workerFactory)
.build()
}
< /code>
 natificationsyncworker < /h3>
@HiltWorker
class NotificationSyncWorker @AssistedInject constructor(
@Assisted context: Context,
@Assisted params: WorkerParameters,
private val notificationDao: NotificationDao,
private val notificationApi: NotificationApi
) : CoroutineWorker(context, params) {
companion object { const val WORK_NAME = "NotificationSyncWorker" }

override suspend fun doWork(): Result = withContext(Dispatchers.IO) {
try {
val pending = notificationDao.getPendingSyncNotifications()
if (pending.isEmpty()) return@withContext Result.success()
// synchronization logic
Result.success()
} catch (e: Exception) {
Result.retry()
}
}
}
< /code>
 планирование работника < /h3>
fun scheduleSyncWorker(context: Context) {
val constraints = Constraints.Builder()
.setRequiredNetworkType(NetworkType.CONNECTED)
.build()

val workRequest = OneTimeWorkRequestBuilder()
.setConstraints(constraints)
.build()

WorkManager.getInstance(context).enqueueUniqueWork(
NotificationSyncWorker.WORK_NAME,
ExistingWorkPolicy.KEEP,
workRequest
)
}
что я попробовал

Удаленный по умолчанию Workmanagerinitializer из манифеста. Хилт. < /P>
< /li>
очищен и перестроить проект. < /P>
< /li>
< /ul>
Вопросы < /h2>

Почему не генерирует уведомление `noveibalationsynclory_factory_factory_factory_factory. /> < /li>
Может ли быть конфликт между KSP и KAPT? /> < /li>
< /ol>
Я был бы признателен за любые подсказки! < /p>

Подробнее здесь: https://stackoverflow.com/questions/796 ... ager-kotli
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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