Firefox for Android 的远程调试

注意:本文发表后,Firefox 远程调试功能有所改变。有关最新信息,请阅读 MDN 上的 远程调试

一个月前,我们介绍了 Firefox 15 中引入的调试器和其他新的开发者工具。我们的新调试器允许您将 Firefox 桌面连接到 Android 上的 Firefox,以便您可以使用您舒适的桌面显示器来调试在移动设备上运行的 JavaScript。 95% 的 Android 设备 运行着与 Firefox 兼容的操作系统版本(Android 2.2 及更高版本)。Firefox 并非在所有这些设备上都能运行,但确实有数百万台设备可以供您选择,并开始在这些设备上进行远程调试。

我们现在将解释如何在 Android 设备上远程调试 Firefox。以下屏幕录制还向您展示了 如何设置和运行远程调试器

设置您的桌面

首先,确保您正在运行 **至少 Firefox 15**。在撰写本文时,Firefox 15 处于 测试版通道

接下来,在 Firefox 地址栏中输入 **about:config**,以便您可以更改浏览器中的设置。浏览器会显示一个警告,但不用担心……我们会小心的。

在 about:config 顶部搜索框中,输入“**remote-en**”。唯一匹配的设置应该是“**devtools.debugger.remote-enabled**”。通过双击将其设置为 true。

最后,**重新启动您的浏览器**。完成后,您将在 Web 开发者菜单中找到“远程调试器”(位于主 Firefox 菜单中,或者在 Mac 上的工具菜单中)。

设置您的 Firefox for Android

要使此功能正常工作,您需要在 Android 设备上也使用 Firefox 15,您可以通过从 Google Play 商店 下载 Firefox Beta 来获得它。

现在,启动手机上的 Firefox Beta。与桌面版一样,您需要转到 **about:config** 来更改设置。搜索“**debugger**”并

  1. 将 **devtools.debugger.force-local** 切换到 **false**
  2. 将 **devtools.debugger.remote-enabled** 切换到 **true**

要启动远程调试服务器,您需要 **重新启动 Firefox**。点击主页按钮退出 Firefox。

在运行 Jelly Bean 的 Galaxy Nexus 上,您可以通过打开任务切换器并将 Firefox Beta 任务向右滑动来强制 Firefox 重新启动。

额外说明:如果您不希望 Firefox 在网络上监听连接,您可以将 force-local 设置为 true,并按照 Mark Finkle 的说明通过 USB 运行远程调试

查找您的 IP 地址

在我们能够连接到设备之前,我们需要知道它的 IP 地址。要查找手机的地址

  1. 打开设置应用程序
  2. 点击 Wi-Fi
  3. 点击您当前连接的网络

显示的界面将包含您的 IP 地址。

Your IP address on an Android phone

建立连接

现在您已经准备好进行远程调试了!

在您的移动设备上,浏览到您想要调试的页面。启动桌面 Firefox 上的远程调试器。远程调试器将显示为一个新的窗口,它会提示您输入要连接的地址。将“localhost”替换为手机的 IP 地址。默认情况下,移动设备上的远程调试服务器将在端口 6000 上运行,因此在连接地址中保留“:6000”。

您应该会在手机上看到一个对话框,警告您有新的传入连接。您应该只接受您启动的连接,否则有人可能试图劫持您的浏览器。在这种情况下,我们已经启动了连接,因此请继续允许它。

成功连接后,您将能够检查页面中加载的脚本、设置断点等。

告诉我们您的想法!

试一试,让我们知道您对这个功能的看法,以及您想看到什么更多内容。您可以在下面的评论区回复,或在 dev-apps-firefox 邮件列表 上给我们发送电子邮件。


7 条评论

  1. Gerry

    我太喜欢这个了!我怎么可能是第一个评论的人!

    我希望您计划添加远程版本的 Inspector,这样我就可以直接与 CSS 属性交互,而不用通过 JavaScript 进行更改。无论如何,这是一个非常棒的功能,我很高兴您添加了它。一旦其他人意识到这一点,他们也会感到高兴。:)

    2012 年 8 月 19 日 07:28

  2. Gerry

    该死,我以为至少会有一台 JS 控制台,这样我就可以轻松地运行语句了,但遗憾的是,它似乎只用于逐步执行代码。我可能会破解一些东西使其工作,但我希望您在将来的版本中添加这个功能,以及 Inspector。

    2012 年 8 月 19 日 09:59

    1. Kevin Dangoor

      是的,我们绝对希望让更多工具远程连接。Web 控制台的一些工作已经开始进行

      https://bugzilla.mozilla.org/show_bug.cgi?id=768096

      2012 年 8 月 20 日 06:05

  3. Brian LePore

    我在我的台式机上运行 Firefox Nightly,以及在 Verizon 上运行 ICS 的 Galaxy Nexus。我一直在手机上收到一个弹出窗口,我点击了接受,但远程连接似乎从未连接。如果是防火墙问题,它是否不会一开始就显示传入消息。

    2012 年 8 月 28 日 13:10

    1. Robert Nyman

      我认为最好的方法是,如果您能 提交一个关于该行为的错误报告,这样我们就可以跟进。

      谢谢!

      2012 年 8 月 28 日 13:54

  4. Brian LePore

    我正要这样做,然后发现我还没有将手机上的 Firefox Nightly 版本从 17 更新到 18,就像我以为的那样。更新后,它运行得非常完美。

    很高兴在这里看到这个功能。我 буквально только что написал блог о远程调试移动浏览器,仅仅一个月前,我只能找到 about:config 设置。看起来很棒。:)

    2012 年 8 月 28 日 14:15

  5. Nemanja Cosovic

    是否有办法对 HTML 或 CSS 做类似的事情?

    2013 年 3 月 7 日 21:23

本文的评论已关闭。