Как сделать драйвер Windows ADB таким же простым, как существующий драйвер Linux ADB?

По какой-то причине в Windows вам нужен отдельный драйвер для каждого устройства для работы с ADB. В Linux вы просто добавляете идентификаторы в файл. Мы пытались выяснить, как сделать более универсальный драйвер ADB для Windows, поскольку мы используем ADB в программе из двух частей, в которой есть компонент для рабочего стола и компонент для Android. Мы не хотим устанавливать 100 различных драйверов устройств, чтобы убедиться, что наша программа работает на каждом устройстве, однако у нас есть ОС Windows в качестве требования, поэтому мы не можем просто переключиться на Linux.

Почему так просто заставить ADB работать на всех типах устройств в Linux (просто добавив идентификатор пользователя в файл), а в Windows нам нужны разные драйверы устройств для каждого отдельного устройства? В каком направлении мы можем двигаться, чтобы придумать универсальный драйвер ADB, который работает для каждого устройства Android в Windows, как это уже работает в Linux?

Большое спасибо, пожалуйста, дайте мне знать, что я могу сделать, чтобы уточнить, если это неясно.


person jhnclvr    schedule 04.10.2011    source источник
comment
Это может показаться глупым, но почему бы не использовать Linux в качестве компонента рабочего стола?   -  person Kirill Rakhman    schedule 04.10.2011
comment
Просто одним из наших требований является то, что программа должна работать в Windows. Раньше мы запускали его на Linux, но требования изменились :\   -  person jhnclvr    schedule 04.10.2011


Ответы (1)


Хотя я не могу дать окончательный ответ, я могу предложить следующие слова, которые могут дать некоторое объяснение:

Взято из Драйверы устройств Linux, 3-е издание, O'Reilly, Глава 1. Классы устройств и модулей.

Подход Linux к устройствам различает три основных типа устройств. Каждый модуль обычно реализует один из этих типов и, таким образом, классифицируется как модуль char, блочный модуль или сетевой модуль. Это разделение модулей на разные типы или классы не является жестким; программист может создавать огромные модули, реализующие различные драйверы в одном фрагменте кода.

С точки зрения пользователей Linux это означает, что очень часто они обнаружат, что система Linux теперь очень часто «распознает» данное устройство без необходимости в специальных драйверах, или (надеюсь) по крайней мере базовая поддержка ОС будет предоставлена ​​автоматически. для этих устройств, позволяя приложениям использовать их. Я не эксперт по Windows, перейдя на Linux после разгрома Vista (и никогда не оглядывался назад), но я ВСЕГДА помню, что мне приходилось загружать драйверы устройств всякий раз, когда я получал новое устройство, даже если это была карта памяти (хотя я уже использовал другие виды флешек на комп!)

Я считаю, что именно так была спроектирована Windows, но почему именно так, я понятия не имею. Поэтому я бы предположил, что в Linux ADB распознает все устройства Android под одним типом устройства, тогда как Windows не может, поэтому в Windows требуется множество драйверов устройств.

person D-Dᴙum    schedule 04.10.2011