Вам необходимо выяснить, где создается файл устройства, и установить соответствующие разрешения. Это может быть файл /init.rc или аналогичный, или это может быть что-то, запускаемое при вставке USB-устройства. Рекурсивный grep файловой системы для части имени устройства (привилегированного пользователя) может получить ответ за пару минут, помогая вам найти все, что встречается в этой строке, по крайней мере, при условии, что это в собственном коде, а не файл класса dalvik (который я считаю маловероятным)
Приложения Android обычно не запускаются от имени пользователя root; это довольно сложно заставить их сделать это, потому что они обычно не запускаются в обычном смысле, а вместо этого разветвляются из процесса zygote (так что общие отображения библиотеки могут быть общими). Но вариант в том, что приложения для Android могут - неофициально - запускать двоичные файлы setuid и использовать их в качестве прокси для выполнения каких-либо задач, т. Е. У вас может быть что-то, что просто записывает что-либо, полученное на его stdin, в порт и печатает все, полученное от порта, на его стандартный вывод.