使用 Dart 进行远程调试

Remote debugging with Dart

这个问题的动机是,我花了大约两个小时才发现我做错了什么。 如何在我的 Android phone 或模拟器上远程调试我的 Dart-Webapp(也可能适用于其他类型的本地网站) ?

智能phone:

  1. 在 phone 上启用 USB 调试。您可以在 android 5.0 中隐藏的 "Developer Settings" 中找到它。如果您有 android 5,请转到“设备信息”并点击内部版本号,直到出现问题。如果这些说明太不清楚,this link 应该会有所帮助。

  2. 确保你的服务器是 运行 :P

  3. 将每个 USB 的 phone 连接到您的 PC 并等待驱动程序安装 - 即 Windowsexplorer 会显示一个弹出窗口,询问如何处理 phone。你可以忽略它。

  4. 在您的 Android phone

  5. 上打开 chrome
  6. 在您的计算机上打开 chrome 并导航至 chrome://inspect

  7. 在那里,您应该会看到您的 phone 已列出。现在 select 按钮 "port forwarding" 和一个弹出窗口将......嗯......弹出。您在左侧字段中输入 'Port' 一些端口 - 8080 对我来说很好用。 这是 phone 上的侦听端口。这意味着在设置端口转发后,您可以在 phone(在 chrome 中)上打开 Url localhost://8080 以导航到您的网站。您可以在名为 'ip and Port' 的右侧字段中指定您的网站。对于 Chrome 扩展名 "Chrome Dev Editor" 我输入 http://192.168.0.6:51792/ 这是我服务器上的 ip、端口和路径。 Chrome Dev Editor 告诉您当您右键单击 main.dart 和 select 部署到 phone.

  8. 时可以在那里输入的内容
  9. select "Done" 并使用您的 phone 导航到 URI - 如果您按照我的示例进行操作,那将是 localhost:8080/MyNewDartTry/web/index.html但我相信您也可以在端口转发弹出窗口中输入整个地址,然后只在 phone. 上打开 localhost:8080 localhost:8080 映射到您输入的 link。

  10. 只要您在桌面或 phone 上关闭 Chrome,端口转发就会停止。

用模拟器

  1. 启动你的模拟器

  2. 找到您服务器的端口。例如54321

  3. 在模拟器中打开浏览器并输入 10.0.2.2:54321/MyNewDartTry/web/index.html(或斜杠后面的任何内容,但确保 IP 是 10.0.2.2 - 指的是您的计算机模拟器运行

希望这对任何人都有帮助

编辑: 如果 chrome 没有找到您的设备,即使 phone 也打开了 chrome 并且您执行了所有步骤,请考虑 Emmanuel Malacarne's answer

C:\Users\YOUR_USERNAME\AppData\Local\Android\sdk\platform-tools && C: & adb.exe kill-server & adb.exe start-server" The directory depends on your installation of your ADT.