Let’s Talk About ADB
What is ADB?
Most of you reading this will no doubt be aware of the Android Debug Bridge (or ADB for short), and have used it for one thing or another. However, if you are still relatively new to tweaking your device, ADB may seem almost like some kind of intimidating and geeky black art. In reality, it’s actually rather simple and can be an incredibly useful tool to have at your disposal for a variety of reasons. The ADB tool itself is explained by developer.android.com, which is a very handy resource, as;
” a versatile command line tool that lets you communicate with an emulator instance or connected Android-powered device.”
In laymans terms that basically means you are able to communicate with and issue commands to your device (or an Android emulator) via your PC. Type a command, it happens. Simple right? There are any number of things you can do with ADB and any number of reasons why you might need/want to do them. You can, for example;
- Backup/restore apps/data
- Push/pull files to or from the device
- Generate logs for debugging/bug reporting
- Many more, of which you can find a full list here.
Making ADB (Even) Easier.
There are numerous tools out there that aim to make the use of ADB just that little bit easier and save you some precious time by adding a user friendly GUI from which to issue the various commands, a few of which we’ll look at right now. If you don’t currently have ADB set up whatsoever, check out this tutorial from XDA Recognized Developer Captainkrtek, which contains a wealth of valuable information and easy to follow instructions on getting started.
So you’ve been through that, now what? Now, you need to install the relevant drivers for the devices you intend to use with ADB. That’s where ADB Driver Installer by XDA Forum Member drsmart might come in handy. It’s a Windows based tool (for x86 and x64) that detects your devices and installs the appropriate ADB drivers. The process isn’t necessarily a difficult task in itself, but if you deal with many different devices, this might just prove to be a nice little time saver.
Another capability of ADB, as we already mentioned, is being able to backup your device. This is particularly useful to those of you who want to finally unlock that bootloader and root / flash some custom ROMs, but don’t want to lose all of your data. Note that while this might work for other devices ADB backup can be fairly hit and miss and is generally only reliable on Nexus devices. Simple ADB Backup by XDA Forum Member omegavesko is a simple interface for the ADB backup commands that comes in handy because, well, who remembers off the top of their heads how to backup data but exclude system apps?
Various backup options are placed at your disposal and the tool is compatible with Windows or Linux. It also does not require root access so as I mentioned before, perfect for backing up before you begin to tweak your device. It’s also open source so could be modified to meet your specific needs if you are that way inclined. One drawback to those with older hardware is that it’s only compatible with devices running Android 4.0 and above.
Last, but no means least in this little ADB lovefest, is a tool by XDA Senior Member sandix entitled ADB Command Center, which allows you to execute the more commonly used commands from a straight out of the box such as push/pull, logging, rebooting setting R/W permissions. It also offers support for any custom commands you might want to use. ADB Command Center also acts as a front end for the fastboot protocol, which makes it a quick and easy way to flash things such as ROMs or recovery images to your device. Other features include an HTC bootloader unlocking script and a universal ICS rooting script.
You’ll probably notice that most guides and utilities tell you to connect your device via USB, but it is possible to use ADB wirelessly (using WiFi instead of a USB cable) either with a third party app or the ADB over network functionality in some ROMs. Be warned, though, that this is something best done on your own secure network only and not on your local (insert bland, overpriced, hipster ridden coffee shop chain here) for the simple reason that using it on a public network does put your device and data at risk.
Knowledge Is Power.
It’s worth mentioning that although utilities such as those mentioned above can be great for saving a little time or simplifying the process, it is incredibly important to understand exactly what you are doing to your device before you do it. Not only will you find it easier to remedy any potential problems, but you’ll also be able to pass that knowledge along to others, and that is what XDA is all about. The utilities above act as an interface between you and the manually written commands, which might be handy but don’t offer anywhere near the same potential to learn about your device and the processes you are carrying out. We always recommend learning to do things the long way before taking shortcuts.
There is certainly no shortage of information available on using ADB from the command line (the way it was intended). And once you get used to it, it is incredibly easy. If I can do it, you can do it. Check out the Android developer documentation to get you started.