GmsCore icon indicating copy to clipboard operation
GmsCore copied to clipboard

[BOUNTY] WearOS Support [$690]

Open doctorgaul opened this issue 7 months ago • 21 comments

BOUNTY CURRENTLY AT $450 and already the biggest listing on BountyHub by far.

Is your feature request related to a problem? Please describe.

WearOS devices do not work with MicroG

Describe the solution you'd like

MicroG framework needed to pair modern, current-gen WearOS devices and get basic functionality - echo phone notifications, provide media controls, run WearOS apps, etc.

Additional context

There has been an issue open for over ten years regarding MicroG support for WearOS. That issue and another more recent post have inspired some folks to post bounties for this feature, but it's buried so far down in the thread it's easy to miss.

I personally am posting a $200 bounty for the MicroG framework needed to pair modern, current-gen WearOS devices and get basic functionality - echo phone notifications, provide media controls, run WearOS apps, etc.

Here are the folks who've posted bounties in those threads. I'll invite them to post again here confirming that their offers still stand, but all told, this adds up to over $500 already.

@HyperCriSiS ~~- $100~~ @realPrix ~~- $100~~ @NullCode1337 ~~- $50~~ @TobiPeterG ~~- $100~~ @doctorgaul ~~- $200~~

*Edit - Amounts now being tracked on the BountyHub page.

doctorgaul avatar Mar 31 '25 02:03 doctorgaul

Thank you, wanted to do this since so long time 😅

@mar-v-in

Can you please pin this?

HyperCriSiS avatar Mar 31 '25 17:03 HyperCriSiS

I would also like increase the bounty for this feature, I'm putting it on bountyhub to make it easier to crowdfund and more visible to bounty hunters.

omarsoufiane avatar Apr 01 '25 03:04 omarsoufiane

🚀 Bounty Alert!

💰 A bounty of $50.00 has been created by omarsoufiane on BountyHub for this issue.

🔗 Claim this bounty by submitting a pull request that solves this issue!

You can also increase the amount of the bounty if you think the issue is worth more.

Good luck, and happy coding! 💻

bountyhub-bot avatar Apr 01 '25 03:04 bountyhub-bot

I would also like increase the bounty for this feature, I'm putting it on bountyhub to make it easier to crowdfund and more visible to bounty hunters.

Nice, did not know there is a new bounty platform. I also added my bounty there. Maybe the others will too.

@realPrix @NullCode1337 @TobiPeterG @doctorgaul

HyperCriSiS avatar Apr 01 '25 14:04 HyperCriSiS

I would also like increase the bounty for this feature, I'm putting it on bountyhub to make it easier to crowdfund and more visible to bounty hunters.

Nice, did not know there is a new bounty platform. I also added my bounty there. Maybe the others will too.

@realPrix @NullCode1337 @TobiPeterG @doctorgaul

done :)

realPrix avatar Apr 01 '25 14:04 realPrix

I would also like increase the bounty for this feature, I'm putting it on bountyhub to make it easier to crowdfund and more visible to bounty hunters.

Nice, did not know there is a new bounty platform. I also added my bounty there. Maybe the others will too. @realPrix @NullCode1337 @TobiPeterG @doctorgaul

done :)

Also done! Thanks @omarsoufiane for the resource!

doctorgaul avatar Apr 01 '25 15:04 doctorgaul

🚀 Bounty Update!

💰 Contributions have been made by HyperCriSiS, realPrix and doctorgaul on BountyHub for this issue. The total amount of the bounty is now $450

🔗 Claim this bounty by submitting a pull request that solves this issue!

Good luck, and happy coding! 💻

bountyhub-bot avatar Apr 01 '25 19:04 bountyhub-bot

I would also like increase the bounty for this feature, I'm putting it on bountyhub to make it easier to crowdfund and more visible to bounty hunters.

Nice, did not know there is a new bounty platform. I also added my bounty there. Maybe the others will too.

@realPrix @NullCode1337 @TobiPeterG @doctorgaul

done!

NullCode1337 avatar Apr 10 '25 15:04 NullCode1337

🚀 Bounty Update!

💰 A contribution of $50 has been made by NullCode1337 on BountyHub for this issue. The total amount of the bounty is now $500

🔗 Claim this bounty by submitting a pull request that solves this issue!

Good luck, and happy coding! 💻

bountyhub-bot avatar Apr 10 '25 16:04 bountyhub-bot

🚀 Bounty Alert!

💰 A contribution of $10.00 has been made by iliqiliev on BountyHub for this issue. The total amount of the bounty is now $510

🔗 Claim this bounty by submitting a pull request that solves this issue!

Good luck, and happy coding! 💻

bountyhub-bot avatar Apr 11 '25 05:04 bountyhub-bot

🚀 Bounty Update!

💰 A contribution of $30 has been made by jcarlosg87 on BountyHub for this issue. The total amount of the bounty is now $540

🔗 Claim this bounty by submitting a pull request that solves this issue!

Good luck, and happy coding! 💻

bountyhub-bot avatar Apr 15 '25 11:04 bountyhub-bot

🚀 Bounty Update!

💰 A contribution of $100 has been made by TobiPeterG on BountyHub for this issue. The total amount of the bounty is now $640

🔗 Claim this bounty by submitting a pull request that solves this issue!

Good luck, and happy coding! 💻

bountyhub-bot avatar Apr 25 '25 06:04 bountyhub-bot

I would also like increase the bounty for this feature, I'm putting it on bountyhub to make it easier to crowdfund and more visible to bounty hunters.

Nice, did not know there is a new bounty platform. I also added my bounty there. Maybe the others will too.

@realPrix @NullCode1337 @TobiPeterG @doctorgaul

Sorry for the delay, done :)

TobiPeterG avatar Apr 25 '25 06:04 TobiPeterG

🚀 Bounty Update!

💰 A contribution of $50 has been made by ryan-durbin on BountyHub for this issue. The total amount of the bounty is now $690

🔗 Claim this bounty by submitting a pull request that solves this issue!

Good luck, and happy coding! 💻

bountyhub-bot avatar May 28 '25 15:05 bountyhub-bot

In order to install microG on WearOS you have to be able to remove google play services on WearOS.

Does anyone know how to go about remove GPS from wearOS?

This is the error I get when i run the command "adb uninstall com.google.android.gms" and then attempt to install MicroG:

Performing Streamed Install
adb: failed to install com.google.android.gms-250932014.apk: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Existing package com.google.android.gms signatures do not match newer version; ignoring!]

This is because the uninstall command doesn't actually work. You are unable to remove the GPS using the standard uninstall since it is a system application.

Would you have to build a custom image of WearOS with GPS not specified as a system application? Or is there an easier way to remove GPS from WearOS?

werzedef avatar Jun 07 '25 05:06 werzedef

In order to install microG on WearOS you have to be able to remove google play services on WearOS.

Does anyone know how to go about remove GPS from wearOS?

This is the error I get when i run the command "adb uninstall com.google.android.gms" and then attempt to install MicroG:

Performing Streamed Install
adb: failed to install com.google.android.gms-250932014.apk: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Existing package com.google.android.gms signatures do not match newer version; ignoring!]

This is because the uninstall command doesn't actually work. You are unable to remove the GPS using the standard uninstall since it is a system application.

Would you have to build a custom image of WearOS with GPS not specified as a system application? Or is there an easier way to remove GPS from WearOS?

This does not work so easily. You would also need to patch the system for signature spoofing.

HyperCriSiS avatar Jun 07 '25 21:06 HyperCriSiS

Hi! Using some hacky methods I was able to pair my GW5 with my Xperia 5 V that has microG. Sadly, there's a long list of downsides but at least I got the watch set up. Downsides are:

  • Watch still thinks it's in setup mode (due to needing to disable the setup wizard), thus CC doesn't work and neither does pressing power to go home
  • Once the initial bluetooth connection with phone is disconnected (even once!) it will not reconnect and the Galaxy Wearable app will think there was no watch ever paired
  • Always shows phone disconnected
  • Can't sync health or anything else; effectively offline since I can't set up the cell plan on the watch
  • No notifications

That being said, if you want to know how I did it for now so y'all can at least use your watches as a watch, I can write a guide on how to. But it would be more ideal if support was added ^^ (I would add support if I could comprehend Java..)

eepymeowers avatar Jun 16 '25 12:06 eepymeowers

There is also a way to use it without pairing whatsoever, you have to click on the watch's name repeatedly. Check out a video for your specific model. Pairing would be much better of course!

iliqiliev avatar Jun 16 '25 14:06 iliqiliev

There is also a way to use it without pairing whatsoever, you have to click on the watch's name repeatedly. Check out a video for your specific model.

That's interesting, this is the first I've heard about this. Can you provide an example link?

doctorgaul avatar Jun 16 '25 14:06 doctorgaul

There is also a way to use it without pairing whatsoever, you have to click on the watch's name repeatedly. Check out a video for your specific model. Pairing would be much better of course!

I'd need an example of that to believe it, but sounds interesting. For notifications, as long as the watch has a connection to the phone (ideally bluetooth) we can use an Android app that mirrors notifications such as Bridge or NotiSender (which is also OSS)

Of course, the proper APIs to use the watch to its fullest extent would be ideal, but until those are implemented there may be kind-of-solutions (albeit not pretty ones) that we could use.

Edit: believe I've found the example: https://www.youtube.com/watch?v=MH-T2kZX7Mo&t=90

eepymeowers avatar Jun 16 '25 15:06 eepymeowers

Can confirm the example worked to set up the watch!! Now all the stuff related to setup not being properly completed doesn't matter ^^

eepymeowers avatar Jun 16 '25 15:06 eepymeowers

There is also a way to use it without pairing whatsoever, you have to click on the watch's name repeatedly. Check out a video for your specific model. Pairing would be much better of course!

I'd need an example of that to believe it, but sounds interesting. For notifications, as long as the watch has a connection to the phone (ideally bluetooth) we can use an Android app that mirrors notifications such as Bridge or NotiSender (which is also OSS)

Of course, the proper APIs to use the watch to its fullest extent would be ideal, but until those are implemented there may be kind-of-solutions (albeit not pretty ones) that we could use.

Edit: believe I've found the example: https://www.youtube.com/watch?v=MH-T2kZX7Mo&t=90

while this is indeed very cool and enables bare minimum usage of Samsung watches, none of the notification syncing and full setup (pretty big aspect of smartwatch haha) is actually possible unless the Google Wear TOS page is implemented in microG, which I feel is the only thing holding it back from completing the setup fully (of course, other stuff will be discovered after we go past this)

NullCode1337 avatar Jun 17 '25 01:06 NullCode1337

🚀 Bounty Update!

💰 A contribution of $500 has been made by simialbi on BountyHub for this issue. The total amount of the bounty is now $1190

🔗 Claim this bounty by submitting a pull request that solves this issue!

Good luck, and happy coding! 💻

bountyhub-bot avatar Jun 29 '25 04:06 bountyhub-bot

🚀 Bounty Update!

💰 A contribution of $500 has been made by simialbi on BountyHub for this issue. The total amount of the bounty is now $1190

🔗 Claim this bounty by submitting a pull request that solves this issue!

Good luck, and happy coding! 💻

Damn! Thanks man! 🎉 🚀

HyperCriSiS avatar Jun 30 '25 12:06 HyperCriSiS

🚀 Bounty Update!

💰 A contribution of $50.00 has been made by patsys on BountyHub for this issue. The total amount of the bounty is now $1240

🔗 Claim this bounty by submitting a pull request that solves this issue!

Good luck, and happy coding! 💻

bountyhub-bot avatar Jul 08 '25 21:07 bountyhub-bot

🚀 Bounty Update!

💰 A contribution of $50 has been made by FlorianSchwarzl on BountyHub for this issue. The total amount of the bounty is now $1290

🔗 Claim this bounty by submitting a pull request that solves this issue!

Good luck, and happy coding! 💻

bountyhub-bot avatar Jul 23 '25 05:07 bountyhub-bot

Thanks to everyone who's pitched in on this! I really didn't expect much to come of this post, but there are people submitting bad AI code try and claim the bounty (see here and here) so clearly we're getting some traction.

Since we're seeing what are effectively fraudulent attempts to claim the bounty, I thought it might make sense to better define what we're seeking here. That should help bounty seekers understand what they need to do, and it might save the MicroG maintainers the trouble of reviewing more bad code. Here's my best shot.

I'd consider the bounty claimed when the MicroG maintainers accept an implementation of WearOS support that will let me use any arbitrary WearOS device released by a major manufacturer within the preceding 12 months for the following:

  • Echo phone notifications for any app that a normal WearOS implementation could echo. E.g., show text messages and emails, ride share "in progress" notifications, weather app notifications, etc

  • Provide basic media controls - play/pause, next/previous track, volume up/down

  • Run WearOS apps. Ideally in a way that allows those apps to interface with companion apps on the paired phone (e.g., allowing the Sleep As Android app on my phone to talk to the WearOS app that tracks vitals during sleep)

Those seem like the key features to me, but since so many of us have invested in the bounty, I wanted to open a discussion here, in case someone with more technical knowledge can define what's needed a little more precisely. If folks have thoughts, please share them!

doctorgaul avatar Jul 24 '25 02:07 doctorgaul

I would love to support this. How do I donate?

goatlink2001 avatar Jul 24 '25 18:07 goatlink2001

I would love to support this. How do I donate?

Just go to the BountyHub page and add your contribution!

doctorgaul avatar Jul 24 '25 18:07 doctorgaul

Thanks to everyone who's pitched in on this! I really didn't expect much to come of this post, but there are people submitting bad AI code try and claim the bounty (see here and here) so clearly we're getting some traction.

Since we're seeing what are effectively fraudulent attempts to claim the bounty, I thought it might make sense to better define what we're seeking here. That should help bounty seekers understand what they need to do, and it might save the MicroG maintainers the trouble of reviewing more bad code. Here's my best shot.

I'd consider the bounty claimed when the MicroG maintainers accept an implementation of WearOS support that will let me use any arbitrary WearOS device released by a major manufacturer within the preceding 12 months for the following:

* Echo phone notifications for any app that a normal WearOS implementation could echo. E.g., show text messages and emails, ride share "in progress" notifications, weather app notifications, etc

* Provide basic media controls - play/pause, next/previous track, volume up/down

* Run WearOS apps. Ideally in a way that allows those apps to interface with companion apps on the paired phone (e.g., allowing the Sleep As Android app on my phone to talk to the WearOS app that tracks vitals during sleep)

Those seem like the key features to me, but since so many of us have invested in the bounty, I wanted to open a discussion here, in case someone with more technical knowledge can define what's needed a little more precisely. If folks have thoughts, please share them!

First, it's awesome to see so many donations for the bounty!

I'd like to add a few clarifications. I've been doing some research, and it seems to me that for my Pixel Watch, the companion app reads notifications and sends them to the device via the GMS backend. This means that notifications and media controls will not work on their own with just GMS.

As you can read in the docs for WearOS, there seem to be three ways for apps to communicate with a watch while the "Data client" seems to be the primary way to do things.

There's already a lot of infrastructure present in microg to handle requests from apps on a phone but no Bluetooth communication to a watch. I'll try to implement this and see how much works then.

I'm sure, there's a lot more to find out, but I don't have that much time right now. There's a little research project I've started.

I have no idea if and when I can finish this work. Any help is appreciated if anyone has experience working on microg. Also, if there's anyone out there working on this, feel free to reach out to me. I'd love to help

teccheck avatar Jul 24 '25 18:07 teccheck