Flutter run、attach 调试秒连,规避日志问题

530 阅读1分钟

问题:

Flutter IDE 调试与手机建立连接,是通过检测 logcat 输出,过滤终端运行的引擎 observatory 调试服务端口链接日志

例如:

I/flutter (29857): The Dart VM service is listening on http://127.0.0.1:41417/cS9W\\_wKadSc=/

这种方式我理解是有点粗暴,一但日志输出有点问题,就连接不上,调试服务卡在

Waiting for a connection from Flutter on xxx ...

解决办法:

锁定引擎调试服务端口

修改 android/app/src/main/kotlin/com.xx/MainActivity.kt

增加如上图代码

import android.os.Bundle

import io.flutter.embedding.android.FlutterActivity

import io.flutter.embedding.engine.FlutterShellArgs

override fun onCreate(savedInstanceState: Bundle?) {

    intent.putExtra(FlutterShellArgs.ARG\_KEY\_DISABLE\_SERVICE\_AUTH\_CODES, true)

    intent.putExtra(FlutterShellArgs.ARG\_KEY\_OBSERVATORY\_PORT, 9999)

    super.onCreate(savedInstanceState)

}

配置 attach 命令

效果:

run flutter 工程,然后 flutter logs 可以看到端口固定 9999 了

run 和 attach 也是秒连了

👀关注公众号:Android老皮!!!欢迎大家来找我探讨交流👀