
This way we don't complicate the user experience and we can work with any number of devices connected at once (e.g. termux-adb runs termux-usb for every detected device which in turn runs termux-adb in a special mode that will only send USB file descriptor to the UDS file descriptor provided by environment variable). Furhtermore a Unix Domain Socket is used to transfer the obtained file descriptors from child process to the parent (i.e. This is where termux-adb comes in.īoth adb and fastboot are patched to scan for USB devices using the termux-usb command. If it cannot access /dev/bus/usb, it just won't detect any connected devices. Of course, adb by itself doesn't know anything about termux-usb nor it can take raw file descriptors from command-line or environment. There is, however, Android API exposed by termux-usb utility which gives you a raw file descriptor of any connected USB device after manual approval by the user. This is mainly due to filesystem permissions required by adb when enumerating USB devices (traversing /dev/bus/usb/*). Termux has the android-tools package which contains adb and fastboot but it normally works on rooted devices only. This can potentially be improved in a future release. However, it is quite noticable for termux-fastboot commands because fastboot doesn't use any background service. That's not a problem for adb which runs as a daemon and scans USB devices periodically. Using termux-usb and querying device serial number with libusb tends to be slow. The official termux-packages build environment is used ( forked to add the termux-adb package).įor more information, please refer to the Termux documentation: The commands were only renamed to avoid collision with the official android-tools Termux package (which contains more tools beside these two). any future upgrades will be done as part of pkg upgradeīoth termux-adb and termux-fastboot are drop-in replacements for the original commands so the usage is exactly the same.

latest version of termux-adb and termux-fastboot will be installed.this will add termux-adb apt repository and install the corresponding public gpg key.
