What I was after

I was upgrading my phone and had forgotten the extreme annoyance of not being able to migrate my watch to the new phone without factory resetting it. I was looking for a way to backup the device so that I didn’t have to reinstall apps and set all of my preferences over again.

The result(s)

The first result that popped up promised an even better solution, “Pair Android Wear Watches to New Phones Without Factory Resetting” on the XDA developers forum by Adam Conway. I figured that, if this worked, it’d be even better than a backup / restore, since Android devices are notoriously bad at doing thorough 1-for-1 restorations (part of the headache of getting a new phone).

The important bits

The solution involves using Android Debugging Bridge (ADB) commands to trick your watch into forgetting your previous device and opening up the pairing function again. It’s straight forward enough that anyone can do it if they follow the instructions attentively. It worked for me on Moto 360 2nd gen running Android Wear 2.7.

  • Download ADB tools. Adam recommends the third-party Minimal ADB and Fastboot Kit (Windows), but you can get the tools from Google for free as well.
  • On your watch, go to Settings \ System \ About and tap Build number until you see a notification that says “You are now a developer.”
  • Go to Settings \ Developer options and enable ADB debugging and Debug over Wi-Fi – wait until you see an IP address appear under the toggle.
  • Open ADB on your computer, you should see a command line, and type:
    adb connect 192.168.1.100:5555

    Replacing the IP address with the one shown on your watch and press Enter. Accept the prompt on your watch to connect.

  • Disable Bluetooth on your phone.
  • In ADB, type:
    adb shell "pm clear com.google.android.gms && reboot"

    Press Enter. Your watch will hang for a minute and then it should reboot.

  • After your watch is running again, connect to it in ADB like you did in step 4, accepting the prompt on the watch to connect.
  • In ADB, type:
    adb shell "am start -a android.bluetooth.adapter.action.REQUEST_DISCOVERABLE"

    Press Enter.

  • After a moment, toggle Bluetooth back on on your phone and open the Android Wear app to pair your watch as if you were pairing a new device. It should be discoverable and pair without a hitch. It did ask me to re-sync my Google account, but ultimately the watch is working with the new phone and nothing on the watch itself changed or had to be recalibrated.

Check out Adam’s original post for more context and an explanation for why this works.