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

1

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 detecta no Windows XP.

Se eu executar 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
por Oriol 03.05.2014 / 19:43

2 respostas

0

Descobri que o problema era que o Windows XP Home Edition não tinha tasklist.exe .

E este tópico de answers.microsoft.com fornece a solução:

Windows XP Home doesn't include the Tasklist.exe utility, I can't figure out why Microsoft excluded this utility from the Home Edition but you can download a copy of it here: http://www.computerhope.com/download/winxp.htm Put the utility in your Windows\System32 folder.

    
por 04.05.2014 / 04:23
0

Se você não quiser mais nada na sua pasta system32 , aqui está uma solução alternativa.

Em [FF Profile]\extensions\[email protected]\resources\r2d2b2g\lib\adb.js , substitua a função _isAdbRunning (linha 235) pela 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;

  },
    
por 17.05.2014 / 21:21