问题:
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老皮!!!欢迎大家来找我探讨交流👀