adb: fix the offline error on USB hot-plug Rset is_connected on usb disconnect to ensure the reconnection handshake uses the correct frame validation for CNXN/AUTH packets. Fix the recovery logic bug. It didn’t drop the corrupted header when cur_len was 0, causing adb_uv_allocate_frame to use the invalid data_length for buffer size calculation, leading to a write overflow in usbdev_fs_read.
adb: fix the offline error on USB hot-plug
microADB is a Android Debug Bridge daemon implementation focus on low memory footprint for tiny embedded applications and IOT.
https://developer.android.com/studio/command-line/adb?authuser=1
Single-thread based implementation
Event driven and asynchronous i/o
Both USB and TCP transports supported
microADB is licensed under the Apache license. Check the LICENSE file.
To build with CMake:
$ mkdir -p build $ (cd build && cmake .. \ -DADBD_TCP_SERVER_PORT=5555 \ \ -DADBD_AUTHENTICATION=ON \ -DADBD_AUTH_PUBKEY=ON \ -DADBD_FILE_SERVICE=ON \ \ -DADBD_CNXN_PAYLOAD_SIZE="1024" \ -DADBD_PAYLOAD_SIZE="64" \ -DADBD_FRAME_MAX="1" \ -DADBD_TOKEN_SIZE="20" \ \ -DADBD_DEVICE_ID="\"abcd\"" \ -DADBD_PRODUCT_NAME="\"adb_dev\"" \ -DADBD_PRODUCT_MODEL="\"adb_board\"" \ -DADBD_PRODUCT_DEVICE="\"NuttX_device\"" \ -DADBD_FEATURES="\"cmd\"") $ cmake --build build # add `-j <n>` with cmake >= 3.12 # Start adb deamon: $ ./build/adbd
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
microADB
Overview
microADB is a Android Debug Bridge daemon implementation focus on low memory footprint for tiny embedded applications and IOT.
https://developer.android.com/studio/command-line/adb?authuser=1
Feature highlights
Single-thread based implementation
Event driven and asynchronous i/o
Both USB and TCP transports supported
Licensing
microADB is licensed under the Apache license. Check the LICENSE file.
Build Instructions
To build with CMake: