这是我的服务类
class MyFirebaseMessagingService @Inject constructor(private val repository : Repository) :
FirebaseMessagingService() {....}
class Repository @Inject constructor(private val apiService: ApiService) {}
ApiService是接口
问题出在应用程序首次发布时。此应用程序崩溃,出现以下消息
java.lang.RuntimeException: Unable to instantiate service com.projects.driverapp.MyFirebaseMessagingService: java.lang.InstantiationException: java.lang.Class<com.projects.driverapp.MyFirebaseMessagingService> has no zero argument constructor
但在这次崩溃之后,在应用程序的第二次发布时,这个项目运行良好,没有崩溃,根本原因是什么?
文档说服务需要用@AndroidEntryPoint
进行注释,而服务通常需要一个0参数的构造函数,因此可以用startService()
来启动它们。
尝试用@AndroidEntryPoint
注释ApiService
和MyFirebaseMessagingService
类,对于MyFirebaseMessagingService
,仅尝试字段注入。希望这能帮助