用于 Android 远程调试的 Google Chrome -“localhost:9222”不可用

Posted

技术标签:

【中文标题】用于 Android 远程调试的 Google Chrome -“localhost:9222”不可用【英文标题】:Google Chrome for Android Remote Debugging - "localhost:9222" Not Available 【发布时间】:2012-04-30 00:48:33 【问题描述】:

我正在按照步骤启用远程调试 (https://developers.google.com/chrome/mobile/docs/debugging)。当我到达第 4 步时,桌面版 Chrome 会返回“此网页不可用”。

“启用 USB Web 调试”在 Chrome for android 中被选中。

在我的设备上启用了“USB 调试”(root Nexus S、CM9)。

“adb devices”命令返回“设备号设备”。

“adb forward...”命令返回: * 守护进程没有运行。现在在端口 5037 上启动它 * * 守护进程启动成功*

我在 Windows 7 上运行最新的 ADB,以管理员身份运行 cmd。

【问题讨论】:

模拟器启动成功后adb forward试过了吗? 是的,我再次运行了该命令。结果相同。我切换到股票 rom (4.0.4) 只是为了排除 CM9。结果相同。 【参考方案1】:

您能否提供您正在使用的 Android 版 Chrome 浏览器?打开“about:version”网址,请提供“Google Chrome”和“应用程序”字段的值。

您能否检查以下内容 - 在您打开 USB Web 调试(文档的第 2 步)后,此命令序列输出给您的内容:

adb root
adb shell cat /proc/net/unix | grep chrome_devtools_remote

(思路是检查,打开USB Web调试后,设备上是否打开了远程调试插口)

【讨论】:

Chrome 19.0.1084.30 (Official Build 132762) beta-m 我没有看到“应用程序”行。也许启动选项会很有用:--flag-switches-begin --enable-experimental-extension-apis --enable-sync-tabs --flag-switches-end --flag-switches-begin --enable-experimental -extension-apis --enable-sync-tabs --flag-switches-end "adb root" 返回:adbd 无法在生产版本中以 root 身份运行 "adb shell..." 无法正常工作,因为我在 Windows 7 上.我已经切换回股票ROM(4.0.4)只是为了排除CM9。好像没什么区别。 我不熟悉所有这些命令行的东西,但grep 不是 linux 命令吗? (只是想知道,因为我也有Win7,它不知道这个命令) @Peter grep 是一个 linux 命令,您可以在 Cygwin 中获取它(强烈推荐),或者您可以使用名为 find 的延迟 Windows 版本,其中命令将是 adb shell cat /proc/net/unix | find "chrome_devtools_remote"。即使没有空格,引号也不是可选的,因此是“延迟”注释。【参考方案2】:

远程调试功能需要进行小检查。 USB调试功能应该关闭,只检查chrome(android)设置下的USB Debugging选项。

另外,运行 adb forward 命令两次(带有特定参数的完整命令)。

【讨论】:

关闭USB调试功能的adb连我的手机都认不出来,我为什么要这么做?【参考方案3】:

我发现我必须在 Chrome 和我的设备上启用 USB 调试。

    Chrome for Mobile - 设置 > 开发者工具 > [x] 启用 USB Web 调试 设备 - 设置 > 开发人员选项 > [x] USB 调试 将设备连接到计算机

    在计算机上启用端口转发

    C:\adb forward tcp:9222 localabstract:chrome_devtools_remote

    在 Chrome for Computer 中转到 http://localhost:9222

【讨论】:

@enduro 的步骤是要走的路。 youtube 上有一段视频(在 google 中出现)显示了错误顺序的步骤。 非常感谢!我忘记在我的设备上启用 USB Web 调试。让我开心:) 这个答案似乎已经过时了。不再有用于移动 chrome 的开发人员工具。相反,您可以在桌面 chrome 上转到 chrome:inspect 无法在我的设备中找到选项 1(Motoe2 6.0.1)【参考方案4】:

你有没有改变你的本地主机? 如果是这样,请尝试 127.0.0.1:9222 而不是 localhost:9222

【讨论】:

【参考方案5】:

尝试在您的手机中下载适用于 Android 的 Chrome 浏览器。然后在您的桌面再次导航到 localhost:9222 Android 远程调试仅适用于移动 Chrome 浏览器。一些用户认为原生 Android 浏览器是 Chrome,其实不是。

【讨论】:

【参考方案6】:

我有两个非常愚蠢的问题阻止我正确执行此操作,也许我的经验会有所帮助。

1:YouTube 频道上投票最多的评论中的“adb forward...”解释了如何操作,其中包含一些奇怪的字符 (https://www.youtube.com/watch?feature=player_embedded&v=s4zpL4VBbuU)。如果和我一样,直接粘贴到cmd中,没有仔细检查,服务器启动没有错误,但是服务不能正常工作。确保您在 adb 路径中使用此行

adb forward tcp:9222 localabstract:chrome_devtools_remote

2:ESET NOD32 Antivirus 有一个叫做 HIPS(基于主机的入侵防御系统)的东西,它不喜欢你乱搞localhost:####

http://kb.eset.com/esetkb/index?page=content&id=SOLN2950

也许您的防病毒软件有类似的东西可以停用?

希望这对某人有所帮助^_^

【讨论】:

我拿着复制的命令坐在那里,想知道为什么它不起作用......:/谢谢【参考方案7】:

您不再需要对 adb、下载或命令行大惊小怪。使用 Chrome v41 (canary),我只需插入手机,将浏览器指向 chrome://inspect,然后点击设备下方的“inspect”链接,调试窗口就会打开并运行。 (在手机的开发者选项中开启USB调试)

我补充说这是第一次工作,而我在 Chrome v39 以及平台工具 sdk、adb 和其他工具上的努力在 6 小时左右后仍然没有结果。

【讨论】:

【参考方案8】:

C:\adb forward tcp:9222 localabstract:chrome_devtools_remote

帮助我找到了系统上的原因。它连接了多个设备。移除所有设备后,仅连接一台所需设备即可解决此问题。

【讨论】:

【参考方案9】:

我找到了解决这个问题的方法。我一直在寻找教程中最后一天相同的命令

https://developer.chrome.com/devtools/docs/contributing-legacy

"C:\Users\%username%\AppData\Local\Google\Chrome SxS\Application\chrome.exe" --remote-debugging-port=9222 --no-first-run --user-data- dir=C:\Users\%username%\chrome-dev-profile http://localhost:11002#http://localhost:8000/front_end/inspector.html

然后我可以在浏览器上使用 localhost:9222。

现在我想对答案发表评论以帮助某人。

【讨论】:

以上是关于用于 Android 远程调试的 Google Chrome -“localhost:9222”不可用的主要内容,如果未能解决你的问题,请参考以下文章

VS2015中无法启动Xamarin Android调试怎么办

调试不适用于 Android Studio 的 C++/本机库模块(使用 Cmake)

Androidstudio-ADB远程调试

USB 调试不适用于 MK809V Android 棒

Google API 密钥不适用于 Android

google protobuf可以用于android中C和Java服务之间的通信吗?