我正在开发使用Cordova的混合Android应用程序,并使用Chrome DevToolschrome://inspect/#devices)进行检查和调试。

每次我运行cordova run android --emulator来更新模拟器上的应用程序时,DevTools都会断开连接。

我的问题是DevTools成功启动应用后如何自动重新连接Cordova

最佳答案

由于找不到任何有关重新连接的信息,因此我只能使以下过程自动化:


关闭断开连接的DevTools窗口
在模拟器上部署新的应用程序版本后,打开一个新的DevTools窗口


在步骤1中,我使用wmctrl。我创建了脚本:

 #!/bin/bash
 wmctrl -c 'Developer Tools - file' || exit 0


并将其添加为我的hook中的config.xml

<hook src="scripts/close_devtools.sh" type="before_deploy" />


要执行第2步,请在chrome://inspect/#devices选项卡的控制台上运行以下代码

var targetNode = document.querySelector('#device\\:emulator-5554 .browsers')

var callback = function(mutationsList) {
  for (var mutation of mutationsList) {
    if (mutation.addedNodes.length) {
      document.querySelector('#device\\:emulator-5554 .action').click();
    }
  }
};

var observer = new MutationObserver(callback);
observer.observe(targetNode, {childList: true});

关于android - 重新安装cordova应用程序后,如何自动重新连接Chrome DevTools?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48084168/

10-13 08:47