使用 Hilt 注入 CoroutineWorker:无法实例化woker

2024-01-11

有人问过同样的问题,但它们对我不起作用,一开始我使用的是最新版本的工作管理器,即 2.7 alpha 3,但我降级了,因为它只兼容 android 12 预览版 sdk,错误仍然存​​在!
它无法实例化工作人员,因为这些依赖项包含在工作人员的构造函数中,在我添加它们之前它就可以工作,但如果我无法添加它们,则刀柄没有任何好处,所以情况如下:

Manifest 不包含任何与工作管理器相关的配置!

应用类别:

@HiltAndroidApp
class TimelineApp : Application() ,Configuration.Provider{

@Inject
lateinit var workerFactory: HiltWorkerFactory

override fun getWorkManagerConfiguration() =
    Configuration.Builder()
        .setWorkerFactory(workerFactory)
        .build()

}

Worker :

@HiltWorker
class DriveSyncWorker @AssistedInject constructor(
    @Assisted val context: Context,
    @Assisted workerParams: WorkerParameters,
    val dependency: StorageHelper,
)

注意到:它没有使用 HiltWorkFactory !

Error:

E/WM-WorkerFactory: Could not instantiate com.wakaztahir.timeline.utils.workers.DriveSyncWorker
    java.lang.NoSuchMethodException: com.wakaztahir.timeline.utils.workers.DriveSyncWorker.<init> [class android.content.Context, class androidx.work.WorkerParameters]
        at java.lang.Class.getConstructor0(Class.java:2332)
        at java.lang.Class.getDeclaredConstructor(Class.java:2170)
        at androidx.work.WorkerFactory.createWorkerWithDefaultFallback(WorkerFactory.java:95)
        at androidx.work.impl.WorkerWrapper.runWorker(WorkerWrapper.java:244)
        at androidx.work.impl.WorkerWrapper.run(WorkerWrapper.java:136)
        at androidx.work.impl.utils.SerialExecutor$Task.run(SerialExecutor.java:91)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:923)
E/WM-WorkerWrapper: Could not create Worker com.wakaztahir.timeline.utils.workers.DriveSyncWorker

Gradle :

implementation "com.google.dagger:hilt-android:$hilt_version"
kapt "com.google.dagger:hilt-compiler:$hilt_version"

def work_version = "2.6.0-alpha02"
implementation "androidx.work:work-runtime-ktx:$work_version"
implementation 'androidx.hilt:hilt-work:1.0.0-beta01'
implementation 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava'

Linked :

无法使用 hilt 注入协程工作线程 https://github.com/google/dagger/issues/2601
使用 hilt 注入协程工作者 https://stackoverflow.com/questions/65662835/injecting-coroutineworker-using-hilt


由于您使用的工作管理器版本高于 2.6.0-alpha01 ,工作管理器版本高于 2.6.0-alpha01 使用启动初始化程序在这里阅读 https://developer.android.com/jetpack/androidx/releases/work#2.6.0-alpha01

将此提供商添加到您的应用程序中AndroidManifest.xml:

<application ... >

 <provider
    android:name="androidx.startup.InitializationProvider"
    android:authorities="${applicationId}.androidx-startup"
    tools:node="remove">
 </provider>

</application>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Hilt 注入 CoroutineWorker:无法实例化woker 的相关文章

  • Flutter :已处置的 CameraController,在已处置的 CameraController 上调用了 buildPreview()

    如何正确初始化和处理相机控制器 我在用camera 0 9 4 5 与许多人一起 其他错误 https stackoverflow com questions 70592464 flutter change the path of reco
  • 在根项目“bin”中找不到任务“bintrayUpload”

    我遵循了将 AAR 文件发布到 JCenter 所需的每个步骤 然后使用 Maven Central 将其同步https github com danielemaddaluno gradle jcenter publish https gi
  • Android主线程的IO操作

    我的问题有两个 是否建议在 Android 的主线程上进行 IO 操作 或者它是否有可能导致我的应用程序崩溃 如果在主线程上执行 IO 操作不理想 我可以使用哪些其他框架 以便当我的应用程序加载时它可以执行一些基本的 IO 文件读取并将值存
  • 如何替换 Android 中已弃用的 Bundle/Argument get(key) 调用

    我有以下扩展函数 允许我在应用程序活动和片段之间传递捆绑数据项 inline fun
  • 应用程序在加载 xml 布局文件的主线程中做了太多工作

    我正在制作一个 9x9 数独网格 其中 81 个单元格本身就是一个 3x3 网格 单个细胞看起来像这样 1 2 3 4 5 6 7 8 9 每个数字代表该单元格的铅笔注释 我有一个名为 cell layout xml 的文件 表示这种 3x
  • Android 应用程序安装失败:包 com.my.app 在条目 AndroidManifest.xml 处没有证书

    在 Android Studio 中 我生成了带有密钥库等的签名 APK 将 APK 安装到设备上时失败 并显示 无法安装应用程序 并且在 Android Monitor 中我看到以下行 Package com my app has no
  • 在 Android 上使用 AT 命令与调制解调器对话

    我试图与三星 Galaxy s2 plus 和华为 p1 xl u9200 调制解调器发送 AT 命令 但无法得到任何结果 我使用 adb shell 发送命令并使用 logcat 查看日志 在三星 当我执行 cat 时 proc tty
  • 如何在android中显示对话框之外的图像?

    我试图在对话框片段的顶部显示配置文件图像 一半在图像之外 我在下面附加了示例对话框 就像那样 并尝试了旧 Stackoverflow 解决方案中的所有 FrameLayout 协作 但我无法存档此内容 请给我正确的解决方案 谢谢 Updat
  • 吉夫伦致命信号11

    我正在尝试使用一些本机代码来创建 Gif 我使用绘画绘制图像 创建一些笔画 单击 保存 绘制的图像将保存为 JPG 格式 当我单击 创建 Gif 时 它会获取所有图像并开始创建 gif 这是当我收到致命信号 11 并且应用程序重新启动时 我
  • 改造中的多个队列导致内存不足错误?

    我正在使用retrofit2 做我的项目 当我的呼叫失败时 我再次重复相同的呼叫 重复此 呼叫使我的应用程序强制关闭 当我查看日志时 我得到了错误日志 如下所示 我觉得这是由于同一呼叫的多次排队造成的 所以我在排队之前就这样做了 我打电话给
  • 退出设备上的 system.img

    我正在为我们部署给客户的设备 LG p509 Optimus 1 开发自动应用程序更新解决方案 我们可以控制这些设备 并且目前在它们上安装自定义内核 但不是完整的自定义 ROM 由于我们试图在设备上自动更新我们的应用程序 因此我们需要由我们
  • 从ListView中隐藏行而不占用空间

    我有一个带有关联 ArrayAdapter 的 ListView 它在多个活动中显示其内容 不幸的是 现在有必要 我的 ListView 在其中一项设置中不显示其所有元素 而仅显示 属性 未设置为 true 的元素 我想避免使用两个具有不同
  • ExpandableListview OnGroupClickListener 未触发

    我正在关注这个 以编程方式折叠 ExpandableListView 中的组 https stackoverflow com questions 4314777 programmatically collapse a group in ex
  • 选项卡主机内的 Android Fragment 视图状态 [重复]

    这个问题在这里已经有答案了 可能的重复 使用 Fragment 为 Android 中的每个选项卡单独的返回堆栈 https stackoverflow com questions 6987334 separate back stack f
  • 是否可以通过 Android 应用程序来录音?

    我是一名开发人员 希望创建一个 Android 应用程序来记录电话 这是出于我个人的需要 为了我自己的目的和记录而记录电话 是否有可能做到这一点 是否可以访问麦克风以及通过扬声器发出的声音 我对 Android 开发有点陌生 所以请耐心等待
  • 在android中,将相机预览流到视图上

    我想将 Android 相机的相机预览流式传输到视图上 目的是随后使用 onDraw 将各种内容添加到视图中 我不需要随时实际捕捉图像 它不必是最高质量或每秒最大数量的帧 有谁知道如何做到这一点 将其添加到您的 xml 中
  • Android 中的 OpenGL 缩小

    我正在使用 3D 对象并渲染它并通过扩展 GLSurfaceView 实现渲染器来显示它 问题是如何通过捏合和捏合进行缩小 下面是我的班级 package com example objLoader import java nio Byte
  • 使用 Play Integrity API 时,Firebase 电话身份验证会出现缺少客户端标识符错误

    使用 Firebase 电话身份验证注册 登录时 身份验证流程始终会启动 reCAPTCHA 流程 并在返回应用程序后发出missing client identifier error 我的设置之前适用于设备验证 安全网络 API 除了我的
  • 禁用 Android 菜单组

    我尝试使用以下代码禁用菜单组 但它不起作用 菜单项仍然启用 你能告诉我出了什么问题吗 资源 菜单 menu xml menu menu
  • 如何更改操作栏背景和文本颜色

    我正在使用本教程中的导航抽屉 http www androidhive info 2013 11 android sliding menu using navigation drawer http www androidhive info

随机推荐

  • 比较两个字典中的键和值

    我想获取一个字典中填充的聚合数字 并将键和值与另一字典中的键和值进行比较 以确定两者之间的差异 我只能得出这样的结论 for i in res keys if res2 get i print match i else print i do
  • iPhone 开发者的 IRC 频道? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想知道是否有一个好的 IRC 频道可以让 iPhone 开发人员聚在一起讨论代码等 人们已经在使用任何
  • 如何在Excel VBA中进行多重转置

    我有一个分散的项目列表 我需要将它们全部放在一列中 分散的项目可以放入空白单元格内的一列中 这是我的要求 第一列中的值不得更改位置 我有一个进行转置的代码 但它改变了第一列中值的位置 将所有内容放在一起 因此粉色的位置 第 9 个 变为第
  • Rails:保存后验证关联?

    我有一个User模型有很多roles 角色包含一个user id领域 我想要validate presence of 问题是 如果我在创建时为用户分配角色 验证将失败 因为未设置 user id 现在我do想要验证 user id 是否存在
  • 连接两个具有不同数据的相同表结构

    Edit After attempting the COALESCE method I m now seeing an issue where the data is repeating itself with the same data
  • 为 Ubuntu 中的现有文件创建新的 BitBucket 存储库

    我有一些文件想要添加到 BitBucket 上的新存储库中 如何使用 Ubuntu 命令行执行此操作 另一种方法是首先从 BitBucket 网站创建存储库 但我不知道如何将存储库克隆到非空目录中 更多详细信息布鲁斯的评论 https st
  • MySQL 查询当前周的yearweek 从周四开始,周三结束

    我有一个SQL设置语句以获取当前日历周的数据 默认情况下 这会抓取从周日开始到周六结束的数据 我希望改变这一点 以便日历周的开始是星期四 星期三结束 以下是我的发言 SELECT FROM transactions WHERE yearwe
  • 使用 mongo java 驱动程序执行查找时 Cosmos Db 回复消息长度错误

    使用 Mongo Java 驱动程序版本 3 4 2 尝试对包含大约 700 个文档的集合执行查找查询已开始引发以下异常 当集合较小时 这种情况不会发生 这些限制看起来是在连接过程中设置的 com mongodb MongoInternal
  • 聚合物服务和服务人员

    我正在尝试开始调试我的聚合物应用程序 我通过复制我的想法手工制作了它PolymerCLI Polymer init does 我不确定正在加载服务人员的是什么 开发的默认选项只做了一个console info 打电话说它已被禁用以进行开发
  • 在 R 中查找给定数据的“行方式”“众数”[重复]

    这个问题在这里已经有答案了 Unlike rowMeans and rowMedians 这给了我们计算出来的数字 mode x 给出数据的存储模式 我的问题 对于以下数据框 我如何计算row wise Mode Data Item A B
  • 如何在 OS X 上监视文件更改?

    我希望收到有关写入给定文件的通知 无需轮询 无需从文件中读取 也无需监视父目录并查看文件修改时间戳 我怎么做 我找不到一个简单的例子 所以我贡献我的想法以供将来参考 interface FileWatch property assign d
  • Delphi 中的 DataModule (dm) 是什么?

    在您的项目中使用 DataModule 的目的是什么 与普通的类或模块相比 它有什么特殊的属性吗 它通常用于什么约定 数据模块是一种非可视 表单 容器 可以包含非可视组件 通常是数据库组件 尽管可以添加任何组件 例如对话框和Indy htt
  • 数组初始化C

    这个初始化的意义是什么 char arr 10 0 我熟悉char arr 10 0 它将所有元素设置为零 并且char arr 10 1 2 它将前两个元素设置为 1 和 2 ascii 其余元素设置为 0 我对上面的格式不熟悉 快速测试
  • 将元组转换为 proplist

    如何从 MongoDB 转换元组 id lt lt vasya gt gt password lt lt 12ghd gt gt age undefined 到支柱列表 id lt lt vasya gt gt password lt lt
  • 为什么当我运行此测试时,这个 sinon 间谍没有被调用?

    我有一个骨干模型 class DateTimeSelector extends Backbone Model initialize gt bind change date updateDatetime bind change time up
  • 在 ASP.NET 中下载文件而不弹出窗口

    我正在使用代码下载文件 btnDownloadTemplate Attributes Add onClick window open StudyReport WordReportTemplate doc OpenTemplate resiz
  • 使用 selenium 在 Chrome 中“未知错误:无法读取 null 的属性‘scrollleft’”

    在 Chrome 中 当我单击按钮时 出现 未知错误 cannot read property scrollleft of null 他们是该页面中的 1 个输入字段 我可以输入值 因为只有按钮单击不起作用 此点击在 Firefox 中运行
  • 使用从 Azure AD 和 ADAL 获取的令牌访问本地 SharePoint

    The Goal 使用 OAuth 从基于 Apache Cordova 的移动应用程序通过 REST 请求访问本地 SharePoint 数据 到目前为止我已经尝试过的 1 Azure 移动服务 混合连接 AAD ADAL 与博文类似代表
  • Qt 中的测试用例在哪里?

    我已经阅读了 Qtestlib 手册和教程 并逐步了解了开发测试的过程 如果我是对的 Qt 已经开发了一些测试用例来测试其功能 谁能告诉我Qt源代码树中这些代码在哪里 如果我必须修改它们 测试用例 我可以这样做吗 提前致谢 尼夫 单元测试不
  • 使用 Hilt 注入 CoroutineWorker:无法实例化woker

    有人问过同样的问题 但它们对我不起作用 一开始我使用的是最新版本的工作管理器 即 2 7 alpha 3 但我降级了 因为它只兼容 android 12 预览版 sdk 错误仍然存 在 它无法实例化工作人员 因为这些依赖项包含在工作人员的构