Как стать автором
Обновить

Комментарии 11

Что я узнал нового, прочитав эту статью?
1. Я научился делать приложения с 1 кнопкой
2. Я научился компилировать хелловорлд с JNI, который умеет открывать и читать^wиоктлить файлы
3. Зачем-то выгружаю и загружаю модули, даже если я только что их залил на телефон
4. Я научился смотреть на сообщения от ядра через dmesg.

Иными словами, ничего нового и полезного. Я надеялся увидеть тут мануал по написанию драйверов, ибо мой планшет не видит мою UVC-камеру, не видит блютус-донгла, да и вообще ничего не видит кроме мышки. К примеру, драйвер своей камеры я правил, правда под linux, думал получу новые скиллы и смогу его портировать. А увидел компиляцию нескольких туториалов «как запустить компилятор и не описаться». Ах да, еще увидел название классов, совпадающие с никнеймом.
Вы просто неправильно поняли заголовок «Использование драйвера». В данном примере очень хорошо показано как использовать драйверы. Можно даже провести простую аналогию: «Использование микроскопа в качестве гантели».
Класса всего два и называются они IoctlWrapper и MainActivity. Где Вы видите никнейм? Если вы про формирование имени пакета, то думаю Вам стоит почитать один из туториалов по написанию Android приложений, коих великое множество.
На счет мануала по написанию драйверов и ожиданий на этот счет Monyag написал абсолютно правильно, статья абсолютно не об этом.
А разве написание драйверов под ядро линукса андроида будет как-то принципиально отличаться от написания драйверов под любое другое ядро линукса? Конечно, плохо что часть написания драйвера отсутствует, но тут рядом имелись статьи по этой теме.
Usecase для использования драйвера, конечно, надуманный, но лично мне, не разу не работавшему с NDK, инфа полезна.
Нет не будет. Единственное отличие в том, что чтобы этот драйвер использовать в Android нужна такая связка или похожая но с сервисом/демоном. Часть написания драйвера как раз и отсутствует по той причине что на Хабре есть что почитать по этой теме) Usecase который приведён в статье по сути бесполезен, но отнюдь не единственный. Если будет время — напишу статью о том как напрямую работать с конкретной периферией на устройстве, тема будет более интересна с точки зрения разработки под ядро.
ну не знаю. я с нуля собрал драйвер для easycap видеозахвата, запустил его, и посадил вместо родной камеры на ура.
никаких спец знаний не надо, зачем статью писать?
НЛО прилетело и опубликовало эту надпись здесь
Для получения интерфейсов он и не нужен) Данный вариант использования приведён лишь для примера. Есть намного более интересные варианты использования данной связки, но для данной статьи это большого значения не имеет.
> В большинстве случаев конфигурация лежит на самом устройстве

Увы, это не так. Из пяти андроид-устройств, что довелось «пощупать» за последний год, конфиг в ядре лежал только на китайском «HTC RD2».
На всех остальных (включая и последний Nexus 7) конфиг в ядре отсутствует.
И было бы очень здорово, если бы вы описали, где брать его _в_таких_ случаях.
Зачастую подходит стандартный конфиг устройства(в случае стоковых прошивок), для Nexus 7 в частности оно так и есть — на сайте производителя прошивки четко указано где взять и как собрать ядро. В случае кастомных прошивок можно спросить человека создавшего прошивку. Учитывая фрагментацию устройств и огромнейшего количества прошивок сформировать какой либо унифицированный подход невозможно.
Курьёзно, но из почти десятка устройств с которыми я сталкивался у большинства конфигурация лежала в procfs, правда прошивки в большинстве своём попадались кастомные. Для стоковых зачастую ситуация аналогична Nexus 7 (например Xperia U).
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации