Questão O simulador Firefox OS não detecta meu dispositivo no winXP


Eu tenho um dispositivo ZTE Open com o Firefox OS.

eu segui este guia para enviar aplicativos para ele, mas o Firefox OS Simulator não o detecta no Windows XP.

Se eu corro adb devices lista roamer2 device.

Eu tentei no Kubuntu (mesmo computador) e no Windows Vista (computador diferente), e funciona.

Como posso fazer isso funcionar no Windows XP?

Versões:

  • Sistema operacional móvel: Firefox OS 1.1 (OPEN_FFOS_V1.1.0B01_TME)
  • PC OS: Windows XP SP3
  • Navegador Firefox: 25.0.1
  • Firefox OS Simulator: 4.0.1

1


origem




Respostas:


Eu descobri que o problema é que o Windows XP Home Edition não tem tasklist.exe.

E este thread de answers.microsoft.com dá a solução:

O Windows XP Home não inclui o utilitário Tasklist.exe, não posso   descobrir por que a Microsoft excluiu esse utilitário do Home Edition   mas você pode baixar uma cópia dele aqui:    http://www.computerhope.com/download/winxp.htm  Coloque o utilitário em   seu Windows\System32 pasta.


0





Se você não quer nada extra em seu system32 pasta, aqui está uma solução alternativa.

Dentro [FF Profile]\extensions\r2d2b2g@mozilla.org\resources\r2d2b2g\lib\adb.js, substituir _isAdbRunning função (linha 235) com o seguinte:

  _isAdbRunning: function() {
    let deferred = Promise.defer();

    let ps, args;
    let platform = Services.appinfo.OS;
    if (platform === "WINNT") {
      ps = "C:\\windows\\system32\\tasklist.exe";
      args = [];
    } else {
      args = ["aux"];
      let psCommand = "ps";

      let paths = env.PATH.split(':');
      let len = paths.length;
      for (let i = 0; i < len; i++) {
        let fullyQualified = file.join(paths[i], psCommand);
        if (file.exists(fullyQualified)) {
          ps = fullyQualified;
          break;
        }
      }
    }

    if (ps) try {

      let buffer = [];

      subprocess.call({
        command: ps,
        arguments: args,
        stdout: function(data) {
          buffer.push(data);
        },
        done: function() {
          let lines = buffer.join('').split('\n');
          let regex = (platform === "WINNT") ? psRegexWin : psRegexNix;
          let isAdbRunning = lines.some(function(line) {
            return regex.test(line);
          });
          deferred.resolve(isAdbRunning);
        }
      });

      return deferred.promise;

    }catch(err){
      if(err.name !== "NS_ERROR_FILE_NOT_FOUND") throw err;
    }

    debug("Error: a task list executable not found on filesystem");
    deferred.resolve(false); // default to restart adb
    return deferred.promise;

  },

0