Skip to content

[in_app_purchase] ClassCastException in InAppPurchase.registerWith #50861

@dluksza

Description

@dluksza

Steps to Reproduce

  1. Update in_app_purchase version to 0.3.1
  2. Build release and upload it to Google Play
  3. Wait for users to start using new version of app
  4. Check crashes in Google Play Console and you will find lots of:
java.lang.RuntimeException: 
  at android.app.ActivityThread.handleCreateService (ActivityThread.java:3768)
  at android.app.ActivityThread.access$1400 (ActivityThread.java:237)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1801)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loop (Looper.java:214)
  at android.app.ActivityThread.main (ActivityThread.java:7050)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:494)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:965)
Caused by: java.lang.ClassCastException: 
  at io.flutter.plugins.inapppurchase.InAppPurchasePlugin.registerWith (InAppPurchasePlugin.java:24)
  at io.flutter.plugins.GeneratedPluginRegistrant.registerWith (GeneratedPluginRegistrant.java:103)
  at org.luksza.HabitChallenge.flutter.HeadlessJobService.a (HeadlessJobService.java:145)
  at org.luksza.HabitChallenge.flutter.HeadlessJobService.onCreate (HeadlessJobService.java:3)
  at android.app.ActivityThread.handleCreateService (ActivityThread.java:3756)
  at android.app.ActivityThread.access$1400 (ActivityThread.java:237)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1801)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loop (Looper.java:214)
  at android.app.ActivityThread.main (ActivityThread.java:7050)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:494
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:965)

Downgrading to 0.3.0+3 fixes this issue.

Expected results:

No exception nor crash is caused by in_app_purchases.

Actual results:

Crash is reported to Google Play Console causing app stability decrease.

Details
flutter doctor -v
[✓] Flutter (Channel beta, v1.14.6, on Linux, locale en_US.UTF-8)
    • Flutter version 1.14.6 at /home/lock/bin/flutter
    • Framework revision fabeb2a16f (3 weeks ago), 2020-01-28 07:56:51 -0800
    • Engine revision c4229bfbba
    • Dart version 2.8.0 (build 2.8.0-dev.5.0 fc3af737c7)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /home/lock/Android/Sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.2
    • ANDROID_HOME = /home/lock/Android/Sdk
    • Java binary at: /home/lock/bin/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    • All Android licenses accepted.

[✓] Android Studio (version 3.5)
    • Android Studio at /home/lock/bin/android-studio
    • Flutter plugin version 43.0.1
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

[✓] VS Code (version 1.42.1)
    • VS Code at /usr/share/code
    • Flutter extension version 3.8.1

[✓] Connected device (1 available)
    • Android SDK built for x86 • emulator-5554 • android-x86 • Android 10 (API 29) (emulator)

• No issues found!

Metadata

Metadata

Assignees

Labels

a: productionIssues experienced in live production appsc: crashStack traces logged to the consolec: regressionIt was better in the past than it is nowp: in_app_purchasePlugin for in-app purchasepackageflutter/packages repository. See also p: labels.platform-androidAndroid applications specificallywaiting for PR to land (fixed)A fix is in flight

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions