这是我的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-debugging,debugger,debugger-protocol,debugging-clients。
答案 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。请注意,您仍然无法绕过需要在手机上完成的“配对”部分。