Taking Screenshots on Moto 360

Android Wear

Wearable Programming is the next big thing. If you haven't taken a shot at it, Now's the time! To get started on Android Wear, take a look at the blog post from Xamarin on Tips for your First Wear App.

While I was writing a post on Scheduled Notifications in Android using Alarm Manager, I realized that I wanted a screenshot of my app notification on my Moto 360. The strange thing about Moto 360 is that they cannot be directly connected to your computer via a USB cable. The only way you can connect to the Moto 360 from your computer is via a handheld Android Device. Under the hood, the handheld device connects to the Moto 360 via Bluetooth. This is same even to deploy and debug your apps - Bluetooth debugging is the way to go.

Setup Moto 360

To enable developer options on your Moto 360, go to Settings->About, then tap the "Build number" about 7 times. Once you enable Developer Options, go to the developer options from settings and enable both ADB Debugging and Debug over Bluetooth

Connect your Moto 360 to Handheld

Open the Android Wear app on your phone and ensure that it is connected to your Moto 360 device. When you connect, You will be shown a dialog asking Allow Wear Debugging? - Set OK here.

Please Note: You will have to enable debugging on your phone and you must have necessary USB drivers for it to work with your computer.

Connecting your Moto 360 to your Computer

Go to your Platform-Tools folder from your command prompt (terminal in case of Mac) and fire up these commands:

adb forward tcp:4444 localabstract:/adb-hub  
adb connect localhost:4444  

Now, type adb devices and you should see your Moto 360 displayed there as localhost:4444 device.

Taking Screenshots

To take a screenshot use this command:

adb -s localhost:4444 shell screencap -p /sdcard/DCIM/WearScreenshot1.png

Finally, to move this screenshot to your computer:

adb -s localhost:4444 pull -p /sdcard/DCIM/WearScreenshot1.png

Now, use Photoshop or other image editing tools to fit your screenshot into a device frame.