jaumard / sms_autofill

Flutter plugin to provide SMS code autofill support
MIT License
281 stars 173 forks source link

sms_autofill plugin crashes #230

Closed mskyoindia closed 3 weeks ago

mskyoindia commented 1 month ago

Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel stable, 3.19.5, on Ubuntu 20.04.6 LTS 5.15.0-101-generic, locale en_IN) [!] Android toolchain - develop for Android devices (Android SDK version 34.0.0) ! Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses [✓] Chrome - develop for the web [✗] Linux toolchain - develop for Linux desktop ✗ clang++ is required for Linux development. It is likely available from your distribution (e.g.: apt install clang), or can be downloaded from https://releases.llvm.org/ ✗ ninja is required for Linux development. It is likely available from your distribution (e.g.: apt install ninja-build), or can be downloaded from https://github.com/ninja-build/ninja/releases ✗ GTK 3.0 development libraries are required for Linux development. They are likely available from your distribution (e.g.: apt install libgtk-3-dev) [✓] Android Studio (version 2023.1) [✓] VS Code (version 1.89.0) [✓] Connected device (3 available) [✓] Network resources

! Doctor found issues in 2 categories. FATAL EXCEPTION: main Process: des.dwgroup.app, PID: 8800 java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/auth/api/credentials/HintRequest$Builder; at com.jaumard.smsautofill.SmsAutoFillPlugin.requestHint(SmsAutoFillPlugin.java:161) at com.jaumard.smsautofill.SmsAutoFillPlugin.onMethodCall(SmsAutoFillPlugin.java:105) at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:267) at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:292) at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319) at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12) at android.os.Handler.handleCallback(Handler.java:942) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.app.ActivityThread.main(ActivityThread.java:7872) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936) Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.auth.api.credentials.HintRequest$Builder" on path: DexPathList[[zip file "/data/app/6NjNBkU1Ql6qEtR5lUbKFA==/des.dwgroup.app-s-tlLTg3WoaiYSfpHQUnGA==/base.apk"],nativeLibraryDirectories=[/data/app/6NjNBkU1Ql6qEtR5lUbKFA==/des.dwgroup.app-s-tlLTg3WoaiYSfpHQUnGA==/lib/x86_64, /data/app/~~6NjNBkU1Ql6qEtR5lUbKFA==/des.dwgroup.app-s-tlLTg3WoaiYSfpHQUnGA==/base.apk!/lib/x86_64, /system/lib64, /system_ext/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312)

Ansh934 commented 1 month ago

Same crash for me too

Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel stable, 3.19.6, on Microsoft Windows [Version 10.0.22631.3447], locale en-IN) [✓] Windows Version (Installed version of Windows is version 10 or higher) [✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0) [✓] Chrome - develop for the web [✓] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.9.6) [✓] Android Studio (version 2023.3) [✓] VS Code (version 1.89.1) [✓] Connected device (4 available) [✓] Network resources

• No issues found!

E/AndroidRuntime( 5173): FATAL EXCEPTION: main E/AndroidRuntime( 5173): Process: com.groyam.d2c, PID: 5173 E/AndroidRuntime( 5173): java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/auth/api/credentials/HintRequest$Builder; E/AndroidRuntime( 5173): at com.jaumard.smsautofill.SmsAutoFillPlugin.requestHint(SmsAutoFillPlugin.java:161) E/AndroidRuntime( 5173): at com.jaumard.smsautofill.SmsAutoFillPlugin.onMethodCall(SmsAutoFillPlugin.java:105) E/AndroidRuntime( 5173): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:267) E/AndroidRuntime( 5173): at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:292) E/AndroidRuntime( 5173): at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319) E/AndroidRuntime( 5173): at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12) E/AndroidRuntime( 5173): at android.os.Handler.handleCallback(Handler.java:958) E/AndroidRuntime( 5173): at android.os.Handler.dispatchMessage(Handler.java:99) E/AndroidRuntime( 5173): at android.os.Looper.loopOnce(Looper.java:205) E/AndroidRuntime( 5173): at android.os.Looper.loop(Looper.java:294) E/AndroidRuntime( 5173): at android.app.ActivityThread.main(ActivityThread.java:8177) E/AndroidRuntime( 5173): at java.lang.reflect.Method.invoke(Native Method) E/AndroidRuntime( 5173): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552) E/AndroidRuntime( 5173): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971) E/AndroidRuntime( 5173): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.auth.api.credentials.HintRequest$Builder" on path: DexPathList[[zip file "/data/app/rjEytmFftHlr2kg5HAW-Bg==/com.groyam.d2c-jD8Ljx11zYJt6rZwKob9cQ==/base.apk"],nativeLibraryDirectories=[/data/app/rjEytmFftHlr2kg5HAW-Bg==/com.groyam.d2c-jD8Ljx11zYJt6rZwKob9cQ==/lib/x86_64, /data/app/~~rjEytmFftHlr2kg5HAW-Bg==/com.groyam.d2c-jD8Ljx11zYJt6rZwKob9cQ==/base.apk!/lib/x86_64, /system/lib64, /system_ext/lib64]] E/AndroidRuntime( 5173): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259) E/AndroidRuntime( 5173): at java.lang.ClassLoader.loadClass(ClassLoader.java:379) E/AndroidRuntime( 5173): at java.lang.ClassLoader.loadClass(ClassLoader.java:312) E/AndroidRuntime( 5173): ... 14 more

Shub0327 commented 1 month ago

did anyone found solution for this?

hasanm08 commented 1 month ago

check my PR #224 and if not worked add these lines to `android\app\proguard-rules.pro

-dontwarn com.google.android.gms.auth.api.credentials.Credential
-dontwarn com.google.android.gms.auth.api.credentials.CredentialsApi
-dontwarn com.google.android.gms.auth.api.credentials.HintRequest$Builder
-dontwarn com.google.android.gms.auth.api.credentials.HintRequest
RB-93 commented 1 month ago

We temporarily commented the calling code for now as it doesn't affect any core feature around this.

...
@override
  void initState() {
    super.initState();

    // getPhoneHint();
    context.read<MyProvider>().getAppHash();
}

getPhoneHint() async {
   try {
     final number = await SmsAutoFill().hint; // HintBuilder for list of phone no crashes here.
     ...
   } catch (_) {}
}
...
Khaled-Eldeeb-BW commented 1 month ago

didnt work, had to move to pinput.

sahilmehra98 commented 3 weeks ago

Check PR #232

jaumard commented 3 weeks ago

thanks to @sahilmehra98 should be ok on 2.4.0