Skip to content

What is the Remote USB?

Remote USB access is a solution allowing customers to make a USB connection to Bitbar Device Cloud. The remote device becomes visible on your computer, just as if it’d be directly connected to your machine’s USB.

Why we created it?

Making a remote USB connection allows developers and testers to debug specific application functionalities on a remote device as if it was connected locally. Possible actions include running ADB commands on the device, taking screenshots and viewing device performance like memory or CPU usage. These are important data points for app developers looking to better understand what their application is doing on a very specific device.

When you use a device over USB, this allows you to use your default developer tools (IDEs) to interact with the device.

If you are using commercial or homegrown testing frameworks that for some reason could not be hosted in the cloud, you can now execute tests over the USB connection without modifications to your tests.

What hosts are supported?

Currently, Bitbar supports the latest Android ADB server. Remote connection can be taken to either an Android or iOS device. You can connect only to devices that have been dedicated to you.

How do I work with the Remote USB?

You just work exactly in the same way as with a locally connected device. Of course, if a user kills the connection programmatically on the device side, then the connection is lost until the device is cleaned and brought back online.

Because you have a USB connection to the device, you need to be careful to not brick your devices by flashing or otherwise breaking the device.

What about performance?

As every USB command needs to travel over the internet before reaching the device. The speed is not going to be the same as if the device was connected to your local machine. Nevertheless, the network connection overhead should not be an issue for debugging.

How do I get the Remote USB?

It’s available on dedicated devices on our public cloud. Private and on-premise cloud instances can decide on their own which users and devices to allow for Remote USB connections.

Usage

Remote USB works out-of-the-box on dedicated devices. You need to download the remote device client.

Nikos-MacBook-Pro-3:Downloads nikocankar$ java -jar remote-device-client-0.3.1.jar -apikey ${API_KEY} -cloudurl ${CLOUD_URL} -device 1404  connect

Device session 4376237 for "Xiaomi Redmi Note 3" created - waiting for device to be ready to connect.
ADB forwarding has started
1 device(s) connected. Type "quit" to stop session and restore to local devices.
load: 2.84  cmd: java 2348 waiting 3.30u 0.35s
1 device(s) connected. Type "quit" to stop session and restore to local devices.
Nikos-MacBook-Pro-3:Downloads nikocankar$ quit
Releasing device session 4376237

Niko Cankar

Bitbar Product Owner