Я создаю библиотеку C, которая соединяет FTDI FT232H USB в SPI конвертер. В настоящее время он работает на Windows/Linux с драйверами D2XX.
В Android (6) библиотека будет доступна через JNI на устройствах с архитектурами armeabi-v7a и arm64-v8a.
Проблема: FTDI явно не поддерживается Android.
Драйверы D2XX Linux используют hard-float, но Android требует soft-float. Каковы мои альтернативы?
Недавно я создал приложение для Android, которое взаимодействует через аналогичный чип (FT2232H).
Мне пришлось собрать ядро с помощью однопортового последовательного драйвера FTDI, чтобы устройство изначально поддерживало микросхемы FTDI. Это, конечно, означает рутирование устройства и нахождение источника ядра, который по закону обязан выпустить производитель устройства в соответствии с GPL.
Для чего это стоило, я использовал чип в режиме VCP, используя библиотеку Java-оболочки для системных вызовов Linux.