Симулятор Firefox OS не обнаруживает мое устройство на WinXP

326
Oriol

У меня есть устройство ZTE Open с ОС Firefox.

Я следовал этому руководству, чтобы загружать в него приложения, но Firefox OS Simulator не обнаруживает его в Windows XP.

Если я запускаю adb devicesсписки roamer2 device.

Я попробовал это на Kubuntu (тот же компьютер) и Windows Vista (другой компьютер), и он работает.

Как я могу заставить его работать на Windows XP?

Версии :

  • Мобильная ОС: Firefox OS 1.1 (OPEN_FFOS_V1.1.0B01_TME)
  • ОС ПК: Windows XP SP3
  • Браузер Firefox: 25.0.1
  • Firefox OS Simulator: 4.0.1
1

2 ответа на вопрос

0
Oriol

Я обнаружил, что проблема в том, что Windows XP Home Edition не имеет tasklist.exe.

И эта ветка с answers.microsoft.com дает решение:

Windows XP Home не содержит утилиту Tasklist.exe, я не могу понять, почему Microsoft исключила эту утилиту из Home Edition, но вы можете скачать ее копию здесь: http://www.computerhope.com/download/ winxp.htm Поместите утилиту в вашу Windows\System32папку.

0
Oriol

Если вы не хотите ничего лишнего в своей system32папке, вот альтернативное решение.

В [FF Profile]\extensions\r2d2b2g@mozilla.org\resources\r2d2b2g\lib\adb.js, замените _isAdbRunningфункцию (строка 235) на следующую:

 _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;  }, 

Похожие вопросы