ADB stands for Android Device Bridge - it is a program that runs on the host machine for communicating with both real and virtual android devices.
adb start-server- start a connection from development machine to android devicesadb kill-server- kill the connection from development machine to android devicesadb shell <command>- run a bash command on the deviceadb shell pm <args>- run a command on the package manageradb shell pidof <package name>get the process id of the given package. Will return empty if no app is running with that packageadb shell pm list packageslist of packages for installed appsadb shell am clear-debug-appto clear the debugger (useful when you get stuck on "Waiting for debugger...")adb shell pm clear <package name>stop app with package nameadb logcatrun logcat in terminaladb devices -lget list of currently connected devicesadb shell getpropget summary of device propertiesadb shell getprop ro.build.version.releaseget the android version of the current deviceadb shell getprop ro.build.version.sdkget the api version of the current deviceadb shell pm grant your.app.packagename android.permission.<permission-name>grant a permission to an app