【问题标题】:Attempt to invoke virtual method 'boolean com.google.android.finsky.api.model.DfeToc.isGplusSignupEnabled()' on a null object reference尝试在空对象引用上调用虚拟方法“boolean com.google.android.finsky.api.model.DfeToc.isGplusSignupEnabled()”
【发布时间】:2016-07-27 14:27:03
【问题描述】:

我正在发布我的应用的新版本并使用 Google 的测试实验室。现在我第一次遇到问题,在一段代码中引起了我的注意,与所有以前的版本(运行完美)相比,我没有改变:

Intent intent = new Intent( Intent.ACTION_VIEW,
                Uri.parse("market://details?id=com.me.myapp") );
if ( intent.resolveActivity(getPackageManager()) != null )
    startActivity( intent );

仅在装有 Android 5.1 的 Galaxy S6 上(共 12 台设备)我收到以下错误:

问题:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“boolean com.google.android.finsky.api.model.DfeToc.isGplusSignupEnabled()”:

致命异常:主进程:com.android.vending,PID:20993 java.lang.NullPointerException:尝试调用虚拟方法 '布尔值 com.google.android.finsky.api.model.DfeToc.isGplusSignupEnabled()' 开启 空对象引用 com.google.android.finsky.detailspage.RateReviewModule.bindModule(RateReviewModule.java:94) 在 com.google.android.finsky.detailspage.DetailsFragment2.rebindViews(DetailsFragment2.java:476) 在 com.google.android.finsky.activities.DetailsDataBasedFragment.rebindViews(DetailsDataBasedFragment.java:138) 在 com.google.android.finsky.fragments.PageFragment.onDataChanged(PageFragment.java:261) 在 com.google.android.finsky.activities.DetailsDataBasedFragment.onDataChanged(DetailsDataBasedFragment.java:263) 在 com.google.android.finsky.api.model.DfeModel.notifyDataSetChanged(DfeModel.java:100) 在 com.google.android.finsky.api.model.DfeDetails.onResponse(DfeDetails.java:91) 在 com.google.android.finsky.api.model.DfeDetails.onResponse(DfeDetails.java:16) 在 com.google.android.finsky.api.DfeRequest.deliverResponse(DfeRequest.java:569) 在 com.google.android.finsky.api.DfeRequest.deliverResponse(DfeRequest.java:56) 在 com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:99) 在 android.os.Handler.handleCallback(Handler.java:739) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:145) 在 android.app.ActivityThread.main(ActivityThread.java:6837) 在 java.lang.reflect.Method.invoke(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:372) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)

我不知道我是否能够让 Google Play 应用程序崩溃,但这是 Google 测试实验室提供的屏幕截图。谁能告诉我我做错了什么?

【问题讨论】:

    标签: java android automated-tests


    【解决方案1】:

    我完全尝试了你的 sn-p(当然交换了我的应用程序标识):

    Intent intent = new Intent( Intent.ACTION_VIEW,
                    Uri.parse("market://details?id=com.me.myapp") );
    if ( intent.resolveActivity(getPackageManager()) != null )
        startActivity( intent );
    

    事实上,Google 测试实验室中的这些测试设备似乎在它应该启动 Google Play 应用程序的那一刻就崩溃了。

    所以,我的回答是:我确认这个 NullPointerException 与被测应用无关。

    【讨论】:

    • 感谢您的回答。无论如何,在过去的 4 周中,我上传的每个修订版(大约 8 个)都存在此错误。所以,如果这个错误真的只与他们的一个设备有关,我无法相信谷歌不会修复它。最后,我仍然担心我的应用程序中的一件事至少是问题的一部分。
    • 好的,让我们看看有没有其他人有同样的问题。
    • 今天第一次遇到同样的问题,但我没有使用那段代码。奇怪的是,即使它崩溃了,顶部的图表中也没有报告该设备有问题
    猜你喜欢
    • 2018-07-24
    • 2017-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多