【发布时间】:2018-03-16 23:31:08
【问题描述】:
M 使用#helpshift 应用程序崩溃或初始化帮助转移。请关注日志
java.lang.RuntimeException: Unable to start service com.helpshift.support.HSRetryService@1aba47b with Intent { cmp=com.quizup.core/com.helpshift.support.HSRetryService }: java.lang.NullPointerException: Attempt to invoke virtual method 'android.database.sqlite.SQLiteDatabase android.content.Context.openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase$CursorFactory, android.database.DatabaseErrorHandler)' on a null object reference
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4079)
at android.app.ActivityThread.access$2400(ActivityThread.java:221)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1897)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.database.sqlite.SQLiteDatabase android.content.Context.openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase$CursorFactory, android.database.DatabaseErrorHandler)' on a null object reference
at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:223)
at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:187)
at com.helpshift.support.storage.ProfilesDataSource.read(ProfilesDataSource.java:27)
at com.helpshift.support.storage.ProfilesDataSource.getProfile(ProfilesDataSource.java:61)
at com.helpshift.support.ProfilesManager.getProfile(ProfilesManager.java:25)
at com.helpshift.support.ProfilesManager.getProfileId(ProfilesManager.java:34)
at com.helpshift.support.HSApiData.getProfileId(HSApiData.java:2059)
at com.helpshift.support.HSApiData.sendFailedMessages(HSApiData.java:1626)
at com.helpshift.support.HSRetryService.onStartCommand(HSRetryService.java:17)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4062)
【问题讨论】:
-
检查你的对象是否正确初始化,通常你也应该把你的代码放在你得到这个错误的地方
-
寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:如何创建 minimal reproducible example。使用“编辑”链接改进您的问题 - 不要通过 cmets 添加更多信息。谢谢!
-
但真正的问题是:当您不知道 NPE 是什么以及如何修复它时……那么您应该花一些时间认真学习 Java 基础知识。