【问题标题】:Unable to execute billing on LG Nexus 5X无法在 LG Nexus 5X 上执行计费
【发布时间】:2023-01-30 15:46:37
【问题描述】:

我的应用程序有应用程序内购买。我使用计费库:

def billing_version = "4.1.0"
implementation("com.android.billingclient:billing:$billing_version")
implementation("com.android.billingclient:billing-ktx:$billing_version")

我在 Firebase 中观察到,使用 LG Nexus 5X (Android 8.1) 的用户无法进行购买。他尝试了几次,但遇到了同样的问题:

Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{studio.yatoo.calendarwidget/com.android.billingclient.api.ProxyBillingActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.IntentSender android.app.PendingIntent.getIntentSender()' on a null object reference
   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2778)
   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
   at android.app.ActivityThread.-wrap11()
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
   at android.os.Handler.dispatchMessage(Handler.java:106)
   at android.os.Looper.loop(Looper.java:164)
   at android.app.ActivityThread.main(ActivityThread.java:6494)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

Caused by java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.IntentSender android.app.PendingIntent.getIntentSender()' on a null object reference
   at com.android.billingclient.api.ProxyBillingActivity.onCreate(com.android.billingclient:billing@@4.1.0:11)
   at android.app.Activity.performCreate(Activity.java:7009)
   at android.app.Activity.performCreate(Activity.java:7000)
   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731)
   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
   at android.app.ActivityThread.-wrap11()
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
   at android.os.Handler.dispatchMessage(Handler.java:106)
   at android.os.Looper.loop(Looper.java:164)
   at android.app.ActivityThread.main(ActivityThread.java:6494)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

所有其他用户都没有这样的问题。仅限 LG Nexus 5X 用户。有人可以帮忙,如何解决这个问题?

【问题讨论】:

  • 我对此没有答案,但我也有一个神秘的 Nexus 5X holdout,它显然遇到了同样的错误(或者至少我收到了崩溃报告)。这个设备还流行吗?我似乎经常在我的日志中看到它。有些东西似乎有点可疑。编辑看到这个issue。看来我的猜测是对的。
  • @technicalflaw 感谢您的评论。我经常观察到有人使用 Nexus 5X 试图购买我的应用程序,但由于这次崩溃而无法购买。没有其他人有这样的问题。我浏览了很多关于 Nexus 5X 问题的论坛......有一个问题,但没有人有答案。

标签: android in-app-billing billing android-billing play-billing-library


【解决方案1】:

正如我在问题下方的评论中所述,我觉得忽略这一点是安全的。我的应用程序相对小众,拥有这么旧的设备和这个操作系统版本的人这么快就购买的可能性几乎为零。我希望谷歌能更明确地介绍他们的自动测试设备,因为我之前曾浪费时间寻找类似的、看似不可能的错误,但这闻起来可以安全地忽略(谨慎)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-30
    • 1970-01-01
    相关资源
    最近更新 更多