1

У меня есть устройство 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

2 ответа2

0

Если вы не хотите ничего лишнего в папке 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;

  },
0

Я обнаружил, что проблема была в том, что 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 .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .