
Those who are familiar with CLI, Shell, Processes, and the Client-Server Model. I would also like to mention that this article has been written with two kinds of individuals in mind: For a problem like that, Android Studio and Gradle are about as useful as a waterproof tea bag. Rather it was my boot looping Nexus 6 which I desperately wanted to resurrect. Point to source code and set breakpoints.In this article, we will explore how you can use the ADB to gain some fine-grained control when you're installing, testing, diagnosing, and managing one or more devices and emulators.įor my first few years as a software developer, primarily working with the Android SDK, I had no idea of what the Android Debug Bridge (ADB/adb) was, what it did, or when to use it.Īmusingly, it was not some professional goal which motivated me to learn about it initially. The emulator and process should be listed. In Android Studio menu options, select Run > Attach debugger. You will need to re-run the set debug each time (or use -persistent option). You will get a popup that the app is waiting for a debug to attach. Run adb shell am set-debug-app -w .samples.masterdetail. Set the app to debug at startup (note the -w) Debug with ADB commandsįollow these steps to debug using ADB commands: You can also simulate app spanning and other gestures as part of UI Testing. The time is important because if you drag too fast, the app is “flung” to the other screen rather than spanned. The first four values are the start and end coordinates of the drag gesture, and the final value is elapsed time (milliseconds).
You can simulate this gesture with ADB, using the following command: adb shell input touchscreen swipe 675 1780 1350 1500 3000 These screenshots illustrate the process of spanning by grabbing the handle at the bottom of the window, and dragging it towards the hinge until the span indicator covers both screens: adb pull – extract files from the emulator or deviceĪnother use for ADB is simulating input commands, such as automating spanning of an app on Surface Duo.adb shell pm path – gets the file system path of the package specified.adb shell pm list packages – list all the packages installed.adb shell – execute commands on the Android system, for example:.adb devices – list the devices available (including emulators and phones or tablets attached to your computer).adb kill-server and adb start-server – stop and start the ADB service if needed.There are many features covered in the ADB documentation but here are some useful commands: ADB is an important tool for developers because it allows you to interact with Android emulators, and also with connected devices.