【问题标题】:how to attach debugger to device? chrome extention如何将调试器附加到设备?镀铬扩展
【发布时间】:2015-03-17 11:14:07
【问题描述】:

这是我的 chrome 扩展中的代码,据我所知,它应该返回我可以将调试器附加到的所有目标:

chrome.browserAction.onClicked.addListener(function(tab) {

console.log('launching extention');

    chrome.debugger.getTargets(function(result){

        console.log('Result!');
        console.log("count: "+result.length);
for (index = 0; index < result.length; index++) {
        console.log(index+": "+result[index].url);

}

    });
});

这是上述扩展的控制台输出:

这仅显示在 chrome 浏览器中打开的选项卡,作为可调试目标返回。

我的设备已正确连接和设置,因此我可以调试 android chrome 选项卡。

我用来尝试附加到设备调试器的方法是否正确?

相关文档链接; remote-debuggingdebuggerdebugger-protocoldebugging-clients

【问题讨论】:

  • 哎呀。似乎此 API 不允许附加到设备页面。更糟糕的是,我找不到任何功能请求来启用它。

标签: javascript google-chrome debugging google-chrome-extension google-chrome-devtools


【解决方案1】:

哎呀。似乎此 API 不允许附加到设备页面。更糟糕的是,我找不到任何功能请求来启用它。

因此,您需要进入低级别,并使用"legacy workflow" 公开调试器,以便在您连接的手机上进行原始访问。

本质上,重要的部分是运行 ADB 命令

adb forward tcp:9222 localabstract:chrome_devtools_remote

localhost:9222暴露Android Chrome的调试接口,之后你可以use XHR / WebSockets中继raw protocol messages

恐怕这是唯一的方法;如果您需要自动完成 ADB 步骤,您可以使用Native Host script。请注意,您仍然无法绕过需要在手机上完成的“配对”部分。

【讨论】:

  • 注意:这确实需要crbug.com 的功能请求以将设备目标公开给chrome.debugger API。如果 OP 可以创建一个并说明他的用例,那就太好了。
  • 另外,请注意:这是我的最佳(知情)猜测,不是权威答案。
  • code.google.com/p/chromium/issues/… 我是否正确提交了请求?以前不需要这样做。
  • 由于您的请求已经由 Chrome 团队成员处理(我真的很嫉妒),所以没关系。
  • 嗯,不,您表示这在以前有效 - 但实际上无效。我会在这个错误上发表评论,
猜你喜欢
  • 2017-12-23
  • 2018-09-27
  • 1970-01-01
  • 2016-12-12
  • 2021-06-19
  • 2015-09-12
  • 1970-01-01
  • 2018-04-23
  • 1970-01-01
相关资源
最近更新 更多