46

我刚刚发布了一个带有应用内计费的应用。到目前为止,还没有向 google play 报告崩溃(这只发生在用户不厌其烦地报告崩溃时),但我确实有一些通过 flurry 报告的崩溃(这是自动的)。崩溃报告如下:

class java.lang.RuntimeException
Msg: android.app.ActivityThread.performDestroyActivity:3655 (Unable to destroy activity {com.mycompany.mygame/com.mycompany.mygame.Splashscreen}: java.lang.IllegalArgumentException: Service not registered: com.mycompany.mygame.util.IabHelper$1@46369b38)

这只发生在我的应用程序执行的 < 1% 上。

如果我错了,请纠正我,但似乎在混乱报告中没有给出崩溃的行号:-(

我什至不确定这个崩溃报告是什么意思,更不用说如何修复它了。有任何想法吗?

4

1 回答 1

117

我相信这是 IabHelper.java 中的一个错误。

在 IabHelper dispose 方法中,以下行,

            if (mContext != null) mContext.unbindService(mServiceConn);

应该改成这个。

            if (mContext != null && mService != null) mContext.unbindService(mServiceConn);

mService 仅在服务注册后才设置,因此在我们尝试解除绑定之前,检查它是否为 != null 将保证服务确实已注册。

于 2013-05-11T09:40:13.943 回答