Flutter_blue: I/flutter (13169): Error starting scan.

Created on 25 Aug 2020  路  9Comments  路  Source: pauldemarco/flutter_blue

Hello there, I added flutter_blue inside pubspec.yaml as:

dependencies:
  flutter:
    sdk: flutter
  flutter_blue: #0.6.3+1
    git:
      url: git://github.com/pauldemarco/flutter_blue.git

and added permissions inside android/app/src/main/AndroidManifest.xml as:


``` package="com.amin.bluewatch">




and in ios/Runner/info.plist as:
_______________________

```<dict>
    <key>NSBluetoothAlwaysUsageDescription</key>
    <string>Need BLE permission</string>
    <key>NSBluetoothPeripheralUsageDescription</key>
    <string>Need BLE permission</string>
    <key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
    <string>Need Location permission</string>
    <key>NSLocationAlwaysUsageDescription</key>
    <string>Need Location permission</string>
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>Need Location permission</string>

    <key>CFBundleDevelopmentRegion</key>...

and my scan test code went as:


floatingActionButton: FloatingActionButton(
        onPressed: () {

          FlutterBlue flutterBlue = FlutterBlue.instance;

          // Start scanning
          flutterBlue.startScan(timeout: Duration(seconds: 4));

          // Listen to scan results
           var subscription = flutterBlue.scanResults.listen((results) {

                // do something with scan results
                for (ScanResult r in results) {

                       print('${r.device.name} found! rssi: ${r.rssi}');

               }
          });

          // Stop scanning
          flutterBlue.stopScan();
        },
        child: Icon(Icons.search),
)

and below is the results I got inside the console...


D/BluetoothAdapter(23833): stopLeScan()
D/BluetoothAdapter(23833): startLeScan(): [Ljava.util.UUID;@41fba538
I/flutter (23833): Error starting scan.
E/flutter (23833): [ERROR:flutter/lib/ui/ui_dart_state.cc(166)] Unhandled Exception: PlatformException(startScan, getBluetoothLeScanner() is null. Is the Adapter on?, java.lang.IllegalStateException: getBluetoothLeScanner() is null. Is the Adapter on?
E/flutter (23833):  at com.pauldemarco.flutter_blue.FlutterBluePlugin.startScan18(FlutterBluePlugin.java:850)
E/flutter (23833):  at com.pauldemarco.flutter_blue.FlutterBluePlugin.startScan(FlutterBluePlugin.java:751)
E/flutter (23833):  at com.pauldemarco.flutter_blue.FlutterBluePlugin.onMethodCall(FlutterBluePlugin.java:255)
E/flutter (23833):  at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:230)
E/flutter (23833):  at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)
E/flutter (23833):  at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:692)
E/flutter (23833):  at android.os.MessageQueue.nativePollOnce(Native Method)
E/flutter (23833):  at android.os.MessageQueue.next(MessageQueue.java:138)
E/flutter (23833):  at android.os.Looper.loop(Looper.java:123)
E/flutter (23833):  at android.app.ActivityThread.main(ActivityThread.java:5584)
E/flutter (23833):  at java.lang.reflect.Method.invokeNative(Native Method)
E/flutter (23833):  at java.lang.reflect.Method.invoke(Method.java:515)
E/flutter (23833):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
E/flutter (23833):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
E/flutter (23833):  at dalvik.system.NativeStart.main(Native Method)
E/flutter (23833): )
E/flutter (23833): #0      FlutterBlue.scan (package:flutter_blue/src/flutter_blue.dart:124:7)
E/flutter (23833): <asynchronous suspension>
E/flutter (23833): #1      FlutterBlue.startScan (package:flutter_blue/src/flutter_blue.dart:162:11)
E/flutter (23833): #2      _BlueWatchState.build.<anonymous closure> (package:bluewatch/main.dart:95:23)
E/flutter (23833): #3      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:992:19)
E/flutter (23833): #4      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:1098:38)
E/flutter (23833): #5      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:184:24)
E/flutter (23833): #6      TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:524:11)
E/flutter (23833): #7      BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:284:5)
E/flutter (23833): #8      BaseTapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:219:7)
E/flutter (23833): #9      PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:477:9)
E/flutter (23833): #10     PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:78:12)
E/flutter (23833): #11     PointerRouter._dispatchEventToRoutes.<anonymous closure> (package:flutter/src/gestures/pointer_router.dart:124:9)
E/flutter (23833): #12     _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:377:8)
E/flutter (23833): #13     PointerRouter._dispatchEventToRoutes (package:flutter/src/gestures/pointer_router.dart:122:18)
E/flutter (23833): #14     PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:108:7)
E/flutter (23833): #15     GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:220:19)
E/flutter (23833): #16     GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:200:22)
E/flutter (23833): #17     GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:158:7)
E/flutter (23833): #18     GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:104:7)
E/flutter (23833): #19     GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:88:7)
E/flutter (23833): #20     _rootRunUnary (dart:async/zone.dart:1206:13)
E/flutter (23833): #21     _CustomZone.runUnary (dart:async/zone.dart:1100:19)
E/flutter (23833): #22     _CustomZone.runUnaryGuarded (dart:async/zone.dart:1005:7)
E/flutter (23833): #23     _invoke1 (dart:ui/hooks.dart:267:10)
E/flutter (23833): #24     _dispatchPointerDataPacket (dart:ui/hooks.dart:176:5)
E/flutter (23833): 

I wonder what I am messing, or missing here to have it not working on my side?

Most helpful comment

Hello flutter_blue team,
We are also facing the same Issue

The problem only happens when I install a release build of my application. If I install the debug build, it works fine:

buildTypes {
        release {
            signingConfig signingConfigs.debug
            shrinkResources false
            minifyEnabled false
        }
    }

Fixed this issue on release build by disabling shrink resources and minifyEnabled at android/app/build.gradle

But It's strange as It's disabling ProGuard. So what about android apk file source securities.

So It must need a proactive solution for the same for It should work with ProGuard enable.

Highly appreciate your answer to this thread
Thank you!

All 9 comments

Hello, I Have the same issue !

I got similar issue.

E/flutter ( 5034): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: PlatformException(error, Field devices_ for b.c.a.u not found. Known fields are [private b.b.a.b0$i b.c.a.u.e, private static final b.c.a.u b.c.a.u.f, private static volatile b.b.a.a1 b.c.a.u.g], null, java.lang.RuntimeException: Field devices_ for b.c.a.u not found. Known fields are [private b.b.a.b0$i b.c.a.u.e, private static final b.c.a.u b.c.a.u.f, private static volatile b.b.a.a1 b.c.a.u.g]
E/flutter ( 5034):  at b.b.a.v0.a(Unknown Source:72)
E/flutter ( 5034):  at b.b.a.v0.a(Unknown Source:715)
E/flutter ( 5034):  at b.b.a.v0.a(Unknown Source:12)
E/flutter ( 5034):  at b.b.a.k0.a(Unknown Source:60)
E/flutter ( 5034):  at b.b.a.k0.a(Unknown Source:49)
E/flutter ( 5034):  at b.b.a.d1.a(Unknown Source:17)
E/flutter ( 5034):  at b.b.a.d1.a(Unknown Source:4)
E/flutter ( 5034):  at b.b.a.z.m(Unknown Source:4)
E/flutter ( 5034):  at b.b.a.z$a.a(Unknown Source:9)
E/flutter ( 5034):  at b.b.a.z$a.b(Unknown Source:0)
E/flutter ( 5034):  at b.c.a.b.onMethodCall(Unknown Source:1336)
E/flutter ( 5034):  at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(Unknown Source:17)
E/flutter ( 5034):  at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(Unknown Source:57)
E/flutter ( 5034):  at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(Unknown Source:4)
E/flutter ( 5034):  at android.os.MessageQueue.nativePollOnce(Native Method)
E/flutter ( 5034):  at android.os.MessageQueue.next(MessageQueue.java:336)
E/flutter ( 5034):  at android.os.Looper.loop(Looper.java:174)
E/flutter ( 5034):  at android.app.ActivityThread.main(ActivityThread.java:7397)
E/flutter ( 5034):  at java.lang.reflect.Method.invoke(Native Method)
E/flutter ( 5034):  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
E/flutter ( 5034):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935)
E/flutter ( 5034): )
E/flutter ( 5034): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:582)
E/flutter ( 5034): #1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:159)
E/flutter ( 5034): <asynchronous suspension>
E/flutter ( 5034): #2      FlutterBlue.connectedDevices.<anonymous closure> (package:flutter_blue/src/flutter_blue.dart:72)
E/flutter ( 5034): <asynchronous suspension>
E/flutter ( 5034): 
I/flutter ( 5034): Error starting scan.
E/flutter ( 5034): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: PlatformException(startScan, Field androidScanMode_ for b.c.a.s0 not found. Known fields are [private int b.c.a.s0.e, private b.b.a.b0$i b.c.a.s0.f, private boolean b.c.a.s0.g, private static final b.c.a.s0 b.c.a.s0.h, private static volatile b.b.a.a1 b.c.a.s0.i], java.lang.RuntimeException: Field androidScanMode_ for b.c.a.s0 not found. Known fields are [private int b.c.a.s0.e, private b.b.a.b0$i b.c.a.s0.f, private boolean b.c.a.s0.g, private static final b.c.a.s0 b.c.a.s0.h, private static volatile b.b.a.a1 b.c.a.s0.i]
E/flutter ( 5034):  at b.b.a.v0.a(Unknown Source:72)
E/flutter ( 5034):  at b.b.a.v0.a(Unknown Source:715)
E/flutter ( 5034):  at b.b.a.v0.a(Unknown Source:12)
E/flutter ( 5034):  at b.b.a.k0.a(Unknown Source:60)
E/flutter ( 5034):  at b.b.a.k0.a(Unknown Source:49)
E/flutter ( 5034):  at b.b.a.d1.a(Unknown Source:17)
E/flutter ( 5034):  at b.b.a.d1.a(Unknown Source:4)
E/flutter ( 5034):  at b.b.a.z$a.a(Unknown Source:9)
E/flutter ( 5034):  at b.b.a.z$a.a(Unknown Source:4)
E/flutter ( 5034):  at b.b.a.z$a.a(Unknown Source:0)
E/flutter ( 5034):  at b.b.a.a$a.a(Unknown Source:2)
E/flutter ( 5034):  at b.c.a.b.a(Unknown Source:10)
E/flutter ( 5034):  at b.c.a.b.onMethodCall(Unknown Source:1414)
E/flutter ( 5034):  at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(Unknown Source:17)
E/flutter ( 5034):  at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(Unknown Source:57)
E/flutter ( 5034):  at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(Unknown Source:4)
E/flutter ( 5034):  at android.os.MessageQueue.nativePollOnce(Native Method)
E/flutter ( 5034):  at android.os.MessageQueue.next(MessageQueue.java:336)
E/flutter ( 5034):  at android.os.Looper.loop(Looper.java:174)
E/flutter ( 5034):  at android.app.ActivityThread.main(ActivityThread.java:7397)
E/flutter ( 5034):  at java.lang.reflect.Method.invoke(Native Method)
E/flutter ( 5034):  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
E/flutter ( 5034):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935)
E/flutter ( 5034): , null)
E/flutter ( 5034): #0      FlutterBlue.scan (package:flutter_blue/src/flutter_blue.dart:124)
E/flutter ( 5034): <asynchronous suspension>
E/flutter ( 5034): <asynchronous suspension>
E/flutter ( 5034): 

I have the same issue as above. However, the problem only happens when I install a release build of my application. If I install the debug build, it works fine:

I/FlutterBluePlugin(28742): setup
I/flutter (28742): Error starting scan.
E/flutter (28742): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: PlatformException(startScan, Field androidScanMode_ for b.b.a.s0 not found. Known fields are [private int b.b.a.s0.e, private b.a.a.b0$i b.b.a.s0.f, private boolean b.b.a.s0.g, private static final b.b.a.s0 b.b.a.s0.h, private static volatile b.a.a.a1 b.b.a.s0.i], java.lang.RuntimeException: Field androidScanMode_ for b.b.a.s0 not found. Known fields are [private int b.b.a.s0.e, private b.a.a.b0$i b.b.a.s0.f, private boolean b.b.a.s0.g, private static final b.b.a.s0 b.b.a.s0.h, private static volatile b.a.a.a1 b.b.a.s0.i]
E/flutter (28742): at b.a.a.v0.a(Unknown Source:72)
E/flutter (28742): at b.a.a.v0.a(Unknown Source:715)
E/flutter (28742): at b.a.a.v0.a(Unknown Source:12)
E/flutter (28742): at b.a.a.k0.a(Unknown Source:60)
E/flutter (28742): at b.a.a.k0.a(Unknown Source:49)
E/flutter (28742): at b.a.a.d1.a(Unknown Source:17)
E/flutter (28742): at b.a.a.d1.a(Unknown Source:4)
E/flutter (28742): at b.a.a.z$a.a(Unknown Source:9)
E/flutter (28742): at b.a.a.z$a.a(Unknown Source:4)
E/flutter (28742): at b.a.a.z$a.a(Unknown Source:0)
E/flutter (28742): at b.a.a.a$a.a(Unknown Source:2)
E/flutter (28742): at b.b.a.b.b(Unknown Source:10)
E/flutter (28742): at b.b.a.b.a(Unknown Source:1414)
E/flutter (28742): at c.a.c.a.j$a.a(Unknown Source:17)
E/flutter (28742): at io.flutter.embedding.engine.e.b.a(Unknown Source:57)
E/flutter (28742): at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(Unknown Source:4)
E/flutter (28742): at android.os.MessageQueue.nativePollOnce(Native Method)
E/flutter (28742): at android.os.MessageQueue.next(MessageQueue.java:336)
E/flutter (28742): at android.os.Looper.loop(Looper.java:174)
E/flutter (28742): at android.app.ActivityThread.main(ActivityThread.java:7386)
E/flutter (28742): at java.lang.reflect.Method.invoke(Native Method)
E/flutter (28742): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
E/flutter (28742): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:980)
E/flutter (28742): , null)
E/flutter (28742): #0 FlutterBlue.scan (package:flutter_blue/src/flutter_blue.dart:124)
E/flutter (28742):
E/flutter (28742):
E/flutter (28742):

I fixed this issue on release build by disable shrinkResources at android/app/build.gradle

buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig signingConfigs.debug
            shrinkResources false
            minifyEnabled false
            //proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

Neither

shrinkResources false

Nor

minifyEnabled false

worked for me.

This is on Android 8.1.0.

flutter build apk --no-shrink
worked for me.

Hello flutter_blue team,
We are also facing the same Issue

The problem only happens when I install a release build of my application. If I install the debug build, it works fine:

buildTypes {
        release {
            signingConfig signingConfigs.debug
            shrinkResources false
            minifyEnabled false
        }
    }

Fixed this issue on release build by disabling shrink resources and minifyEnabled at android/app/build.gradle

But It's strange as It's disabling ProGuard. So what about android apk file source securities.

So It must need a proactive solution for the same for It should work with ProGuard enable.

Highly appreciate your answer to this thread
Thank you!

I just completely excluded flutter blue classes in proguard rules.

-keep class com.pauldemarco.flutter_blue.** { *; }

I was skeptic but the ProGuard rule helped!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Fleximex picture Fleximex  路  3Comments

RyanYANG52 picture RyanYANG52  路  6Comments

FWeissenb picture FWeissenb  路  5Comments

ssaylanc picture ssaylanc  路  4Comments

ekuleshov picture ekuleshov  路  4Comments