That sounds like this. What device firmware version are you using?
It sounds like the Android API for doing this requires an already-open file descriptor. Also, you probably can’t access the UART that way directly; something (libusb?) needs to know how to use the opened fd and translate it into a serial byte stream on one side, but the other side would need to use the opened fd to interact with the USB UART bridge.
libusb_init() failed. You’ll have to dig into why – but this seems like a likely explanation.