jonasbark / flutter_in_app_update

Flutter Plugin: Enables In App Updates on Android using the official Android APIs.
Other
323 stars 79 forks source link

Error with version 1.1.10 #34

Closed nambv closed 4 years ago

nambv commented 4 years ago

@jonasbark another exception throw here, can you have any idea to get through it please? Thank you so much:

E/MethodChannel#in_app_update(19645): Failed to handle method call
E/MethodChannel#in_app_update(19645): java.lang.IllegalArgumentException: kotlin.Unit
E/MethodChannel#in_app_update(19645):   at de.ffuf.in_app_update.InAppUpdatePlugin.checkForUpdate(InAppUpdatePlugin.kt:173)
E/MethodChannel#in_app_update(19645):   at de.ffuf.in_app_update.InAppUpdatePlugin.onMethodCall(InAppUpdatePlugin.kt:60)
E/MethodChannel#in_app_update(19645):   at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:226)
E/MethodChannel#in_app_update(19645):   at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)
E/MethodChannel#in_app_update(19645):   at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:631)
E/MethodChannel#in_app_update(19645):   at android.os.MessageQueue.nativePollOnce(Native Method)
E/MethodChannel#in_app_update(19645):   at android.os.MessageQueue.next(MessageQueue.java:326)
E/MethodChannel#in_app_update(19645):   at android.os.Looper.loop(Looper.java:160)
E/MethodChannel#in_app_update(19645):   at android.app.ActivityThread.main(ActivityThread.java:6809)
E/MethodChannel#in_app_update(19645):   at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#in_app_update(19645):   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
E/MethodChannel#in_app_update(19645):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
E/DartMessenger(19645): Uncaught exception in binary message listener
E/DartMessenger(19645): java.lang.IllegalStateException: Reply already submitted
E/DartMessenger(19645):     at io.flutter.embedding.engine.dart.DartMessenger$Reply.reply(DartMessenger.java:139)
E/DartMessenger(19645):     at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:246)
E/DartMessenger(19645):     at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)
E/DartMessenger(19645):     at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:631)
E/DartMessenger(19645):     at android.os.MessageQueue.nativePollOnce(Native Method)
E/DartMessenger(19645):     at android.os.MessageQueue.next(MessageQueue.java:326)
E/DartMessenger(19645):     at android.os.Looper.loop(Looper.java:160)
E/DartMessenger(19645):     at android.app.ActivityThread.main(ActivityThread.java:6809)
E/DartMessenger(19645):     at java.lang.reflect.Method.invoke(Native Method)
E/DartMessenger(19645):     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
E/DartMessenger(19645):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
V/FA      (19645): Setting current screen to name, class: /, Flutter
V/FA      (19645): Screen exposed for less than 1000 ms. Event not sent. time: 804
I/flutter (19645): PlatformException(in_app_update requires a foreground activity, null, null)
jonasbark commented 4 years ago

Can you try delaying the InAppUpdate.checkForUpdate call by let's say 10 seconds?

nambv commented 4 years ago

thanks @jonasbark , I will give it a try πŸ‘

nambv commented 4 years ago

@jonasbark tried, it still happened even I have delayed it for 10 seconds:

Future.delayed(Duration(seconds: 10)).then((_) {
      InAppUpdate.checkForUpdate().catchError((e) {
        debugPrint(e.toString());
      });
    });
jonasbark commented 4 years ago

Can you open up your android project in Android Studio, find InAppUpdatePlugin source, add a debugger breakpoint in line 31 and see if it gets called? It works fine in the example application.

carnivash commented 4 years ago

Same problem is happening to me, i added a breakpoint on line 31 but it never gets called.

nambv commented 4 years ago

@jonasbark @carnivash yes, it's not get called

jonasbark commented 4 years ago

Can you provide a minimal sample project? Which Flutter version are you using?

nambv commented 4 years ago

@jonasbark I'm using Flutter stable version 1.17.0

My flutter doctor -v:

[βœ“] Flutter (Channel stable, v1.17.0, on Mac OS X 10.15.4 19E287, locale en)
    β€’ Flutter version 1.17.0 at /Users/nambuivu/flutter
    β€’ Framework revision e6b34c2b5c (9 days ago), 2020-05-02 11:39:18 -0700
    β€’ Engine revision 540786dd51
    β€’ Dart version 2.8.1

[!] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    β€’ Android SDK at /Users/nambuivu/Library/Android/sdk
    β€’ Platform android-29, build-tools 29.0.3
    β€’ ANDROID_HOME = /Users/nambuivu/Library/Android/sdk
    β€’ Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    β€’ Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
    βœ— Android license status unknown.
      Try re-installing or updating your Android SDK Manager.
      See https://developer.android.com/studio/#downloads or visit visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions.

[βœ“] Xcode - develop for iOS and macOS (Xcode 11.4.1)
    β€’ Xcode at /Applications/Xcode.app/Contents/Developer
    β€’ Xcode 11.4.1, Build version 11E503a
    β€’ CocoaPods version 1.9.1

[βœ“] Android Studio (version 3.6)
    β€’ Android Studio at /Applications/Android Studio.app/Contents
    β€’ Flutter plugin version 45.1.1
    β€’ Dart plugin version 192.7761
    β€’ Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)

[!] VS Code (version 1.45.0)
    β€’ VS Code at /Applications/Visual Studio Code.app/Contents
    βœ— Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[βœ“] Connected device (1 available)
    β€’ Live β€’ AHB00032243 β€’ android-arm64 β€’ Android 9 (API 28)
jonasbark commented 4 years ago

I was able to reproduce it - the new plugin format hasn't been implemented fully. Please have a go with 1.1.11

nambv commented 4 years ago

@jonasbark yay, let me try! Thanks a lot for your real time support πŸ‘

jonasbark commented 4 years ago

all good now?

nambv commented 4 years ago

@jonasbark yup, it worked as expected. thank you very much for your plugin πŸ‘ ! great work!