GmsCore
GmsCore copied to clipboard
[BOUNTY] WearOS Support [$690]
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.
Thank you, wanted to do this since so long time 😅
@mar-v-in
Can you please pin this?
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.
🚀 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! 💻
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
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 :)
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!
🚀 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! 💻
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.
done!
🚀 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! 💻
🚀 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! 💻
🚀 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! 💻
🚀 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! 💻
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 :)
🚀 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! 💻
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?
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.
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..)
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!
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?
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
Can confirm the example worked to set up the watch!! Now all the stuff related to setup not being properly completed doesn't matter ^^
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)
🚀 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! 💻
🚀 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! 🎉 🚀
🚀 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! 💻
🚀 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! 💻
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!
I would love to support this. How do I donate?
I would love to support this. How do I donate?
Just go to the BountyHub page and add your contribution!
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