Компиляция USB-драйвера fingeprint для Android - PullRequest
0 голосов
/ 05 мая 2011

У меня есть исходный код устройства считывания отпечатков пальцев DigitalPersona (DP). Теперь мне нужно скомпилировать его для Android. У меня есть Android NDK r5. Я скопировал Android.mk, default.properties и AndroidManifest.xml из примера проекта hello-jni в NDK в исходный код DP. Но когда я запускаю 'ndk-build' внутри исходного кода DP. Это дает мне огромное количество ошибок.

Вот конфиги. http://pastebin.com/khUbWQdE

Я знаю, что делаю что-то не так, но, пожалуйста, просветите меня. Спасибо

1 Ответ

1 голос
/ 16 мая 2011

Вполне вероятно, что, по крайней мере, часть кода является модулем драйвера устройства режима ядра, который эта компания достаточно вежлива, чтобы предоставить в виде исходного кода.

Компиляция драйверов ядра, безусловно, возможна, но она не следует процессу ndk. Вам понадобятся исходные коды ядра для ядра, работающего на вашем устройстве, или хотя бы заголовки из них. Поищите подсказки по компиляции ядер Android Linux и обратите внимание на часть, касающуюся упаковки образа ramdisk в ядро, если ваше устройство требует этого.

Вам также может потребоваться код пользовательского пространства. Прохождение этого через систему сборки ndk (или, возможно, недавно добавленную опцию «автономный набор инструментов») не всегда тривиально. У вас есть необычная библиотека C (бионическая вместо glibc) плюс все общие проблемы, связанные с кросс-компиляцией, которые не всегда хорошо обрабатываются сценариями конфигурации некоторых проектов. Также есть возможность использовать другой набор инструментов с более стандартной библиотекой и статической связью.

Наконец, вы не сможете установить и использовать код, если у вас нет рутованного устройства, которое позволяет заменять ядро ​​(или запускает ядро, которое позволяет модули), а устройство имеет как электрические возможности, так и рабочие драйверы. для работы в режиме USB-хоста.

...