[APP] Reset Wear Client - Switch phones without factory reset

Search This thread

moneytoo

Recognized Developer
Feb 20, 2007
1,425
1,304
brouken.com
Android Wear allows pairing to a new/second phone only after you perform factory reset of Android Wear: "You can switch which phone or tablet your watch is paired with, but you need to reset your watch to factory settings first. Then you can pair your watch to the new phone or tablet." Google Support

It's ok for most people but some just have more devices and want to switch them from time to time. Performing factory reset means compiling apps to aot, retransferring all apps the need to reconfigure all apps (Wear Mini Launcher, anyone?).
There used to be an app BeeLink but it stopped working and was removed.

There's actually way faster way how to set up connection with a new phone - in a minute. Just delete application data of "Google Play Services Wearable" app and reboot. All the 3rd party apps with their configurations, all watch faces with configurations, Google Fit data, and basically everything else will be kept.

Step by step
  1. Wear is connected with phone A so turn off Bluetooth on this phone.
  2. Execute following command on Wear (with ADB enabled - doesn't require root) or run attached app (root on watch required).
    Code:
    adb shell "pm clear com.google.android.gms && reboot"
  3. Power on Bluetooth on phone B.
  4. Depending whatever devices were paired previously, confirm pairing code or initiate new pairing using following command (thanks @matejdro) or also use the wear app for that
    Code:
    adb shell "am start -a android.bluetooth.adapter.action.REQUEST_DISCOVERABLE"
  5. Finish setup, let it work for some time and restart both phone B and your watch to properly apply all changes. Done.
Attached apk is for installation on mobile phone (it contains and installs the actual Wear app). It's not on Play Store yet. Let's try it and get some feedback first.
 

Attachments

  • screenshot.png
    screenshot.png
    12.4 KB · Views: 4,849
  • ResetWearClient.v0.1.apk
    986.2 KB · Views: 3,980
  • ResetWearClient.v0.2.apk
    986.2 KB · Views: 8,477
Last edited:

rekil goth

Senior Member
Feb 16, 2011
56
4
Hi,

Thanks for making this for those of us who know nothing about adb. Unfortunately, I could not get this to work, but I'm certain the error is at my end. I downloaded and installed your apk, but I can't get it to open or find it in the app drawer. Excuse my ignorance. Could you please inform me as to how I can run the apk after installation? I downloaded it on to phone B, which does not have android wear installed, as per your instructions. However, I never got passed step 2 of your guide for the above mentioned reason.

Thank you kindly




Android Wear allows pairing to a new/second phone only after you perform factory reset of Android Wear: "You can switch which phone or tablet your watch is paired with, but you need to reset your watch to factory settings first. Then you can pair your watch to the new phone or tablet." Google Support

It's ok for most people but some just have more devices and want to switch them from time to time. Performing factory reset means compiling apps to aot, retransferring all apps the need to reconfigure all apps (Wear Mini Launcher, anyone?).
There used to be an app BeeLink but it stopped working and was removed.

There's actually way faster way how to set up connection with a new phone - in a minute. Just delete application data of "Google Play Services Wearable" app and reboot. All the 3rd party apps with their configurations, all watch faces with configurations, Google Fit data, and basically everything else will be kept.

Run the following command on your pc (with Wear connected and ADB enabled - this doesn't require root) or use my app for switching on-the-go (it requires root on Wear).
Code:
adb shell "pm clear com.google.android.gms && reboot"

Step by step
  1. Wear is connected with phone A so turn off Bluetooth on this phone.
  2. Execute above command or run attached app (root required).
  3. Power on Bluetooth on phone B.
  4. Depending whatever devices were paired previously, confirm pairing code or initiate new pairing.
  5. Done.
Attached apk is for installation on mobile phone (it contains and installs the actual Wear app). It's not on Play Store yet. Let's try it and get some feedback first.
 
  • Like
Reactions: comk4ver

drewski_1

Senior Member
Jul 20, 2012
3,828
1,602
SF Bay Area, CA
Hi,

Thanks for making this for those of us who know nothing about adb. Unfortunately, I could not get this to work, but I'm certain the error is at my end. I downloaded and installed your apk, but I can't get it to open or find it in the app drawer. Excuse my ignorance. Could you please inform me as to how I can run the apk after installation? I downloaded it on to phone B, which does not have android wear installed, as per your instructions. However, I never got passed step 2 of your guide for the above mentioned reason.

Thank you kindly

this App needs to be Sync'd to the watch so download it to Phone A, which is already paired.

wait until it syncs or manually sync Apps in Wear App on phone A.

when it's availalbe on your watch, then start this procedure.
 

drewski_1

Senior Member
Jul 20, 2012
3,828
1,602
SF Bay Area, CA
hmm, just tried this (both ADB command and App installed on watch) with a new phone and I couldn't get it to pair. had to do the watch reset :(
 

Csantos1984

Member
Apr 27, 2015
12
5
Finally a solution to my problem.
When i flash a new ROM i have to pair my moto 360 again... And to do this i allways do a reset on my watch...

Next time i will try it and give a feedback.
 

matejdro

Senior Member
Jul 9, 2009
1,362
152
I was trying to figure out this one, but could not found proper app to clear. I cleared GMS, Wear launcher, settings etc. and nothing helped. In the end I found this solution which is even better IMO:

Code:
adb shell am start -a android.bluetooth.adapter.action.REQUEST_DISCOVERABLE

After executing above code via ADB, dialog will pop up on wear asking if you want to make watch discoverable. Then you can find and pair it to any phone.
 

zard

Senior Member
Jul 19, 2005
3,466
309
I was trying to figure out this one, but could not found proper app to clear. I cleared GMS, Wear launcher, settings etc. and nothing helped. In the end I found this solution which is even better IMO:

Code:
adb shell am start -a android.bluetooth.adapter.action.REQUEST_DISCOVERABLE

After executing above code via ADB, dialog will pop up on wear asking if you want to make watch discoverable. Then you can find and pair it to any phone.
Hi, my SW3 was connected to my Mi 4, setup done and working fine. I used Titanium Backup to backup Android Wear and all the watch faces apps.

After I flashed a new custom ROM, used Titanium Backup to restore Android Wear and watch face apps, and also Bluetooth connections on my Mi 4. When SW 3 is connected to my computer, in Adb, it says unauthorised.

Since it is unauthorized, I can't run the ADB command.

Any suggestions?
 

matejdro

Senior Member
Jul 9, 2009
1,362
152
I don't think there is anything you can do at this point. You should have authorized your PC when you still had working watch connection.
 
  • Like
Reactions: zard
I was trying to figure out this one, but could not found proper app to clear. I cleared GMS, Wear launcher, settings etc. and nothing helped. In the end I found this solution which is even better IMO:

Code:
adb shell am start -a android.bluetooth.adapter.action.REQUEST_DISCOVERABLE

After executing above code via ADB, dialog will pop up on wear asking if you want to make watch discoverable. Then you can find and pair it to any phone.

Using Minimal ADB, I had to run as admin to make this work, but then it worked perfectly. Thanks very much!
 
  • Like
Reactions: comk4ver

ryacurbak0617

Member
Oct 13, 2014
20
2
Yes! I'm so glad something like this has been developed! Worst part about switching ROMs is resetting android wear now. Thanks so much!
 
D

Deleted member 267841

Guest
Performed the clean in the watch.
It works, and is possible to link the watch with another phone without perform a data wipe.
Then only problem that I've encontered is that the installed watchfaces aren't visible in the Android wear app (in the phone), and I can't set from the phone or hide some.
Thanks

EDIT: Sometimes, due to the watchfaces issue, Android wear app UI generates a FC

Code:
E/AndroidRuntime( 6255): FATAL EXCEPTION: main
E/AndroidRuntime( 6255): Process: com.google.android.wearable.app, PID: 6255
E/AndroidRuntime( 6255): java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.content.ComponentName.equals(java.lang.Object)' on a null object reference
E/AndroidRuntime( 6255): 	at com.google.android.clockwork.companion.WatchFacePreviewFragment.loadWatchFaces(WatchFacePreviewFragment.java:261)
E/AndroidRuntime( 6255): 	at com.google.android.clockwork.companion.WatchFacePreviewFragment.onWatchFacesLoaded(WatchFacePreviewFragment.java:209)
E/AndroidRuntime( 6255): 	at com.google.android.clockwork.companion.watchfaces.WatchFaceLoadTask.onPostExecute(WatchFaceLoadTask.java:198)
E/AndroidRuntime( 6255): 	at com.google.android.clockwork.companion.watchfaces.WatchFaceLoadTask.onPostExecute(WatchFaceLoadTask.java:33)
E/AndroidRuntime( 6255): 	at android.os.AsyncTask.finish(AsyncTask.java:636)
E/AndroidRuntime( 6255): 	at android.os.AsyncTask.access$500(AsyncTask.java:177)
E/AndroidRuntime( 6255): 	at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:653)
E/AndroidRuntime( 6255): 	at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime( 6255): 	at android.os.Looper.loop(Looper.java:135)
E/AndroidRuntime( 6255): 	at android.app.ActivityThread.main(ActivityThread.java:5293)
E/AndroidRuntime( 6255): 	at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime( 6255): 	at java.lang.reflect.Method.invoke(Method.java:372)
E/AndroidRuntime( 6255): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
E/AndroidRuntime( 6255): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
W/ActivityManager(  829):   Force finishing activity 1 com.google.android.wearable.app/com.google.android.clockwork.companion.StatusActivity
 
Last edited by a moderator:

moneytoo

Recognized Developer
Feb 20, 2007
1,425
1,304
brouken.com
Performed the clean in the watch.
It works, and is possible to link the watch with another phone without perform a data wipe.
Then only problem that I've encontered is that the installed watchfaces aren't visible in the Android wear app (in the phone), and I can't set from the phone or hide some.
Thanks

EDIT: Sometimes, due to the watchfaces issue, Android wear app UI generates a FC

Code:
E/AndroidRuntime( 6255): FATAL EXCEPTION: main
E/AndroidRuntime( 6255): Process: com.google.android.wearable.app, PID: 6255
E/AndroidRuntime( 6255): java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.content.ComponentName.equals(java.lang.Object)' on a null object reference
E/AndroidRuntime( 6255): 	at com.google.android.clockwork.companion.WatchFacePreviewFragment.loadWatchFaces(WatchFacePreviewFragment.java:261)
E/AndroidRuntime( 6255): 	at com.google.android.clockwork.companion.WatchFacePreviewFragment.onWatchFacesLoaded(WatchFacePreviewFragment.java:209)
E/AndroidRuntime( 6255): 	at com.google.android.clockwork.companion.watchfaces.WatchFaceLoadTask.onPostExecute(WatchFaceLoadTask.java:198)
E/AndroidRuntime( 6255): 	at com.google.android.clockwork.companion.watchfaces.WatchFaceLoadTask.onPostExecute(WatchFaceLoadTask.java:33)
E/AndroidRuntime( 6255): 	at android.os.AsyncTask.finish(AsyncTask.java:636)
E/AndroidRuntime( 6255): 	at android.os.AsyncTask.access$500(AsyncTask.java:177)
E/AndroidRuntime( 6255): 	at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:653)
E/AndroidRuntime( 6255): 	at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime( 6255): 	at android.os.Looper.loop(Looper.java:135)
E/AndroidRuntime( 6255): 	at android.app.ActivityThread.main(ActivityThread.java:5293)
E/AndroidRuntime( 6255): 	at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime( 6255): 	at java.lang.reflect.Method.invoke(Method.java:372)
E/AndroidRuntime( 6255): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
E/AndroidRuntime( 6255): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
W/ActivityManager(  829):   Force finishing activity 1 com.google.android.wearable.app/com.google.android.clockwork.companion.StatusActivity

Did you also try reseting app data of both Android Wear and Google Play on the phone (& restart)?
 

Top Liked Posts

  • There are no posts matching your filters.
  • 56
    Android Wear allows pairing to a new/second phone only after you perform factory reset of Android Wear: "You can switch which phone or tablet your watch is paired with, but you need to reset your watch to factory settings first. Then you can pair your watch to the new phone or tablet." Google Support

    It's ok for most people but some just have more devices and want to switch them from time to time. Performing factory reset means compiling apps to aot, retransferring all apps the need to reconfigure all apps (Wear Mini Launcher, anyone?).
    There used to be an app BeeLink but it stopped working and was removed.

    There's actually way faster way how to set up connection with a new phone - in a minute. Just delete application data of "Google Play Services Wearable" app and reboot. All the 3rd party apps with their configurations, all watch faces with configurations, Google Fit data, and basically everything else will be kept.

    Step by step
    1. Wear is connected with phone A so turn off Bluetooth on this phone.
    2. Execute following command on Wear (with ADB enabled - doesn't require root) or run attached app (root on watch required).
      Code:
      adb shell "pm clear com.google.android.gms && reboot"
    3. Power on Bluetooth on phone B.
    4. Depending whatever devices were paired previously, confirm pairing code or initiate new pairing using following command (thanks @matejdro) or also use the wear app for that
      Code:
      adb shell "am start -a android.bluetooth.adapter.action.REQUEST_DISCOVERABLE"
    5. Finish setup, let it work for some time and restart both phone B and your watch to properly apply all changes. Done.
    Attached apk is for installation on mobile phone (it contains and installs the actual Wear app). It's not on Play Store yet. Let's try it and get some feedback first.
    9
    I was trying to figure out this one, but could not found proper app to clear. I cleared GMS, Wear launcher, settings etc. and nothing helped. In the end I found this solution which is even better IMO:

    Code:
    adb shell am start -a android.bluetooth.adapter.action.REQUEST_DISCOVERABLE

    After executing above code via ADB, dialog will pop up on wear asking if you want to make watch discoverable. Then you can find and pair it to any phone.
    5
    I updated the Wear app (v0.2) with support for requesting Bluetooth discoverable mode as well.
    1
    Hi,

    Thanks for making this for those of us who know nothing about adb. Unfortunately, I could not get this to work, but I'm certain the error is at my end. I downloaded and installed your apk, but I can't get it to open or find it in the app drawer. Excuse my ignorance. Could you please inform me as to how I can run the apk after installation? I downloaded it on to phone B, which does not have android wear installed, as per your instructions. However, I never got passed step 2 of your guide for the above mentioned reason.

    Thank you kindly




    Android Wear allows pairing to a new/second phone only after you perform factory reset of Android Wear: "You can switch which phone or tablet your watch is paired with, but you need to reset your watch to factory settings first. Then you can pair your watch to the new phone or tablet." Google Support

    It's ok for most people but some just have more devices and want to switch them from time to time. Performing factory reset means compiling apps to aot, retransferring all apps the need to reconfigure all apps (Wear Mini Launcher, anyone?).
    There used to be an app BeeLink but it stopped working and was removed.

    There's actually way faster way how to set up connection with a new phone - in a minute. Just delete application data of "Google Play Services Wearable" app and reboot. All the 3rd party apps with their configurations, all watch faces with configurations, Google Fit data, and basically everything else will be kept.

    Run the following command on your pc (with Wear connected and ADB enabled - this doesn't require root) or use my app for switching on-the-go (it requires root on Wear).
    Code:
    adb shell "pm clear com.google.android.gms && reboot"

    Step by step
    1. Wear is connected with phone A so turn off Bluetooth on this phone.
    2. Execute above command or run attached app (root required).
    3. Power on Bluetooth on phone B.
    4. Depending whatever devices were paired previously, confirm pairing code or initiate new pairing.
    5. Done.
    Attached apk is for installation on mobile phone (it contains and installs the actual Wear app). It's not on Play Store yet. Let's try it and get some feedback first.
    1
    Here's a more graphical description of doing the same thing. https://www.xda-developers.com/pair-android-wear-without-factory-reset/
    I used this method when I got a replacement phone and it was a great timesaver.