GmsCore icon indicating copy to clipboard operation
GmsCore copied to clipboard

Wishlist: com.google.android.gms.wearable

Open schildbach opened this issue 11 years ago • 43 comments

It would be nice to have a free implementation of the APIs necessary for Android Wear.

com.google.android.gms.wearable.NodeApi com.google.android.gms.wearable.MessageApi com.google.android.gms.wearable.DataApi

schildbach avatar Nov 23 '14 15:11 schildbach

I would love to have this working also. I'm currently only using my smartwatch for timekeeping since I cannot sync it with my phone.

jamorford avatar Oct 05 '15 18:10 jamorford

Gadgetbridge may be able to be used at the Android Wear client with microg implementing the transport API since it already has the required code to handle notifications, calls, etc and send them to a wearable API. See this issue: https://github.com/Freeyourgadget/Gadgetbridge/issues/158

jamorford avatar Dec 10 '15 02:12 jamorford

Any progress on this?

AshotN avatar Jan 01 '17 23:01 AshotN

It's a pity that I have no use for my android wear device at the moment without gapps. It would be really nice to see this happening.

erhan- avatar Feb 11 '17 16:02 erhan-

I seem to have a little progress by using Android Wear v1.4.0 and Google v5.13.31

EDIT: Had

Technohacker avatar Feb 14 '17 08:02 Technohacker

I know that a 15$ bounty is not much, and laughably little when looking at the large amount of work this is likely to require, but I hope this helps :) (and maybe motivates others to post bounties too)

jcgruenhage avatar May 05 '17 09:05 jcgruenhage

I would love this. Android Wear is the only app that keeps me from switching to microG.

Rudloff avatar Nov 03 '17 12:11 Rudloff

I would love this as well. After discovering that microG doesn't support Android Wear, I'm completely discouraged from switching to it.

artillect avatar Dec 08 '17 05:12 artillect

This is the main reason I can't switch to microg for me as well.

markkuit avatar Jan 05 '18 23:01 markkuit

Hello all, i also hope for a support in the near future :-) Thx for your work so far!

Furzgaskrieger avatar Jan 15 '18 12:01 Furzgaskrieger

Well no one is working on this issue. It is a bit out of my scope. Hopefully it'll happen one day

Perhaps it's better if we focused on helping https://asteroidos.org/ instead

AshotN avatar Jan 15 '18 23:01 AshotN

How the bounty "program" works? I really would like to have the possibility to use my smartwatch with microG.

benoitjpnet avatar Feb 18 '18 22:02 benoitjpnet

Using most recent Nanodroid (which uses microG). While I could pair my watch using Wear OS (formerly Android Wear), it'll stuck at "Getting your watch details" phase. One can just force stop the Wear OS and restart it, and you'll be greeted with the main screen as if the watch's been set up (though it won't be able to actually connect to the watch).

It's completely possible to use Android Wear 1.5 without a proper setup (just that Google related stuffs won't work anyway), but for Android Wear 2.0 this is impossible as the phone needs to go past the "Copy your Google account" phase, which would return a response to the watch so the setup could complete.

lss4 avatar May 20 '18 18:05 lss4

Ill add another $15 to the bounty

robinvd avatar Sep 28 '18 11:09 robinvd

@benpro It's powered by bountysource.com, the URL for this issue is https://www.bountysource.com/issues/6460438-wishlist-com-google-android-gms-wearable

@robinvd To add something to the bounty you have to go to that site and add it there

jcgruenhage avatar Sep 28 '18 11:09 jcgruenhage

@jcgruenhage done

robinvd avatar Sep 28 '18 11:09 robinvd

Has there been any progress with this? So far it's the only thing stopping me from switching all at once. Though is it possible to use WearOS with MicroG?

SolAZDev avatar Oct 08 '19 12:10 SolAZDev

@SolAZDev in commit 3c5e68404b92d6732082a8c42351809f93dad2be Marvin added some more Wear code, I'm testing it now with my Moto 360 gen 1 (Android Wear 1) and LineageOS with MicroG v0.2.9.

So far it doesn't seem to be working unfortunately. The initial setup is hanging. I might create a pull request if I can fix it.

DynaSpan avatar Oct 23 '19 10:10 DynaSpan

@DynaSpan There is no Bluetooth code in microG's Wear implementation yet, it's just able to connect to an emulator via adb.

For Bluetooth functionality, One first need to record the Bluetooth connection of a original Google setup and then implement it in microG. The protocol should be mostly the same as via adb, just a different transport layer.

mar-v-in avatar Oct 23 '19 12:10 mar-v-in

So I received my new battery for my Moto 360, so I can now test & develop properly, as it didn't last longer than 5 minutes on the original battery.

@mar-v-in I saw you had some information in Gadgetbridge/#158 and also pointed to WearableServiceImpl.java & wearable.proto. So I'm guessing these are most of the things I need to implement in Bluetooth.

I might have some spare time tomorrow and Sunday and would like to give it a try :). If you have any other resources I could use that would be great.

One last question: what about the use of Kotlin? Can I use it or should I stick to Java?

DynaSpan avatar Oct 25 '19 12:10 DynaSpan

@DynaSpan @mar-v-in Sorry for the terribly late reply. I can volunteer for recording the process of registering if desired. But I'd need to know when and how to start recording. Although you can technically set it up once and then pair it up to another device without resetting but I'm not sure if that's part of the process you want to record.

That aside, does the adb connection work with devices? (amusing it's over wifi)

SolAZDev avatar Nov 18 '19 17:11 SolAZDev

I would also be interested in this feature and willing to help. I have programming experience, but little experience with bluetooth. I have a wearos smartwatch, a rooted phone with play services and a phone with microg, so I can create bluetooth traces and test stuff. (I already have created a bluetooth trace of the pairing process, but I'd rather not post it publicly, as I don't know what personal information it contains).

freundTech avatar May 08 '20 11:05 freundTech

I just added another $25 to the bounty for anyone that wants to work on this :smile:. The bounty is now up to $135

gary-kim avatar Feb 15 '21 22:02 gary-kim

+1 for this. It's really sucky to have a half functional watch because I want to keep my privacy. Ive tried using the chinese WearOS companion in combination with the gms cache hack people have mentioned to get it to work and it almost does, but I keep having weird issues...

I'm tempted to look into implementing it myself but I don't even know where to start.

Enovale avatar Jul 09 '22 11:07 Enovale

+1 for this. It's really sucky to have a half functional watch because I want to keep my privacy. Ive tried using the chinese WearOS companion in combination with the gms cache hack people have mentioned to get it to work and it almost does, but I keep having weird issues...

I'm tempted to look into implementing it myself but I don't even know where to start.

Hey can you send some link of that mentioned hack?

Well i looked into this and probably it goes something like this:

  1. Statically analyse the gms apk seeing the wearos API endpoints or dynamically analyase apps communicating through the wear os API.
  2. Then write these java classes and functions communicating with your specific watch HAL.
  3. It may be somewhat similar with all other watches but there may be some idiosyncrasies. (You can just analyse the traffic through wireshark)

You can probably go into the matrix chat of asteroidos.org they may have some insights into this.

mrabhinv avatar Jul 09 '22 11:07 mrabhinv

+1. Would love to help. I have a wear os samsung smartwatch sitting right now.

Charlyo avatar Jan 22 '23 18:01 Charlyo

I've noticed that I can set up a Pixel Watch using the trick with the global Wear OS app and the chinese Wear OS app and then using the Pixel Watch app. So it seems like the APIs are still compatible and this would probably add support for more modern watches and the Pixel Watch as well.

erebion avatar Jun 02 '23 15:06 erebion

I've noticed that I can set up a Pixel Watch using the trick with the global Wear OS app and the chinese Wear OS app and then using the Pixel Watch app.

It's a tricky workaround, but with new WearOS, any vendor can use any app to bind, meaning, Google APIs might no longer be required at all(?), which should open the doors for some projects like Gadgetbridge to add general WearOS support.

SolAZDev avatar Jun 05 '23 18:06 SolAZDev

which should open the doors for some projects like Gadgetbridge to add general WearOS support.

Finally, this would be interesting as it'd make those devices far more usable with microg and even Linux phones, if there could be open source implementations. :D

Could you please comment this at the Gadgetbridge repo as well? I think their devs would liketo know. :)

erebion avatar Jun 05 '23 20:06 erebion

Did so (crossposting) now via https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/3257

rugk avatar Aug 17 '23 22:08 rugk