Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Billing Library crash in com.android.billingclient.api.ProxyBillingActivity #2025

Open
4 of 5 tasks
salami opened this issue Jan 2, 2025 · 6 comments
Open
4 of 5 tasks

Comments

@salami
Copy link

salami commented Jan 2, 2025

Describe the bug
A clear and concise description of what the bug is. The more detail you can provide the faster our team will be able to triage and resolve the issue. Do not remove any of the steps from the template below. If a step is not applicable to your issue, please leave that step empty.

  1. Environment
    1. Platform: Android; Nexus 5X
    2. SDK version: 8.10.2; android targetSdk 35; compileSdk 35
    3. OS version: Android 13
    4. Android Studio version: Android Studio Ladybug | 2024.2.1 Patch 3
    5. How widespread is the issue? Rare issue.
  2. Debug logs that reproduce the issue
  3. Steps to reproduce, with a description of expected vs. actual behavior
  4. Other information (e.g. stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, etc.)

Sadly not able to reproduce. This is the crash log data from Firebase Crashlytics

Fatal Exception: java.lang.RuntimeException
Unable to start activity ComponentInfo{com.telephonescience.nomorobomax/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
Caused by java.lang.NullPointerException
Attempt to invoke virtual method 'android.content.IntentSender android.app.PendingIntent.getIntentSender()' on a null object reference


com.android.billingclient.api.ProxyBillingActivity.onCreate (com.android.billingclient:billing@@7.0.0:14)
android.app.Activity.performCreate (Activity.java:8305)
android.app.Activity.performCreate (Activity.java:8284)
android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1417)
android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3626)
android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3782)
android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:101)
android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:135)
android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:95)
android.app.ActivityThread$H.handleMessage (ActivityThread.java:2307)
android.os.Handler.dispatchMessage (Handler.java:106)
android.os.Looper.loopOnce (Looper.java:201)
android.os.Looper.loop (Looper.java:288)
android.app.ActivityThread.main (ActivityThread.java:7872)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:548)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:936)

Any ideas?

On a somewhat related note, will this SDK upgrade to the latest Google Play Billing Library 7.1.1 soon?

@RCGitBot
Copy link
Contributor

RCGitBot commented Jan 2, 2025

👀 We've just linked this issue to our internal tracker and notified the team. Thank you for reporting, we're checking this out!

@salami
Copy link
Author

salami commented Jan 2, 2025

By the way, this seems to be a rare issue but am wondering if anyone else has encountered it.

@skrugly
Copy link

skrugly commented Jan 7, 2025

Same here on RC 8.10.7 version.

@JayShortway
Copy link
Member

Hi thanks for reporting this!

We've seen this before, and our suspicion is that it's caused by people tampering with the app trying to start the Activities declared in the manifest in unsupported ways. The ProxyBillingActivity is normally launched by the BillingClient, and it expects an Intent extra in the Intent that launched it. This is null if the Activity is started directly, e.g. through adb or Tasker or any other method or app that can send Intents.

On a possibly-related note, this device is running a custom ROM based on Android 13, as the Nexus 5X only got to Android 8.1.

@salami @skrugly Would you be able to share the device and Android version distributions from Crashlytics? That would help us get a better sense of this. If you have absolute numbers on number of crashes that would be great too. Thanks in advance!

@JayShortway
Copy link
Member

Oh and you're totally right that we should update to the latest Play Billing Library. Thanks for that, PR coming up!

@Bohdandn
Copy link

We see the same suspicious activity. User with Nexus 5X and Android 13 gets crash at ProxyBillingActivity.onCreate (at least its reported as crash by crashlytics). Suspicious indeed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants