【发布时间】:2016-10-28 17:11:21
【问题描述】:
在我的应用的生产版本中开始出现此错误。
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.content.Intent.migrateExtraStreamToClipData()' on a null object reference
具体发生这种情况并没有明确的界限,但我最近将我的支持库版本更改为 24.0.0。这是完整的堆栈跟踪:
Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.content.Intent.migrateExtraStreamToClipData()' on a null object reference
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1494)
at android.app.Activity.startActivityForResult(Activity.java:3745)
at android.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:48)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:75)
at android.app.Activity.startActivityForResult(Activity.java:3706)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:871)
at com.google.android.gms.common.internal.zzi$1.zztD(Unknown Source)
at com.google.android.gms.common.internal.zzi.onClick(Unknown Source)
at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:162)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
编辑:我还想指出,收到此错误的 100% 的用户也是 root 用户。这也发生在 23.4.0... 我也有一个潜在的相关错误同时弹出,这与与 Firebase 相关的 Base64.decode 函数有关。
编辑 2: 前几天我从一位 Android 开发人员那里得到了一些帮助。他们建议我更新我的项目的 Google Play 服务版本,到目前为止似乎有所帮助。我会再等几天才能从我的用户那里得到结果,但最初的日志很有希望。
我之前使用的是 9.0.2,但我现在使用的是 9.2.0。
编辑 3: 更新到 9.2.0 对崩溃没有帮助。我仍然从根用户那里得到同样的错误。我注意到崩溃的用户低于 Android 6.0,因此我将在实时设备上进行测试并尽快更新。
【问题讨论】:
-
这也发生在我的模拟器上。首先,我收到一个弹出窗口:... 依赖于您的设备不支持的 Google Play 服务。联系制造商寻求帮助。我会尝试调试。
-
@Wirling 既然你提到了它,我有点怀疑错误报告来自谷歌的云测试实验室设备,而不是我用户的设备。我最近刚刚专门为我的设备植根以测试此错误,但我还没有看到它弹出。
-
我可以使用 Google Play Services Vision 库 (9.2) 重现这一点。在启动相机进行二维码检测之前,我使用
isGooglePlayServicesAvailable方法进行了简单检查。如果它不可用,我将显示来自getErrorDialog方法的对话框。然后它会在尝试更新时崩溃。仅在有根设备上发生。 -
我在尝试打开 Playstore 时也面临同样的问题 - 这是代码 - Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("market://details?id=com.whatsapp"));开始活动(意图);
-
嗨@c0d3blooded。我已经看过这个问题:github.com/google/gcm/issues/209,他们说这个错误已修复。你(或任何人)可以检查吗?我无法重现该错误。谢谢!
标签: android android-intent android-support-library