如何将调试器附加到设备?镀铬扩展

时间:2015-01-19 12:35:02

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

这是我的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);

}

    });
});

这是我上面扩展程序的控制台输出:

enter image description here

这表示只有Chrome浏览器中打开的选项卡作为可调试目标返回。

我的设备已连接并正确设置,因此我可以调试Android Chrome标签。

enter image description here

我正在使用的方法尝试连接到设备调试器是否正确?

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

1 个答案:

答案 0 :(得分: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。请注意,您仍然无法绕过需要在手机上完成的“配对”部分。