Using RCS with Google Messages on GrapheneOS
Here's a page from their website, it looks like compatibility is not fully rolled out. https://www.verizon.com/support/knowledge-base-222792/
- Edited
Anyone able to get this working on AT&T in the US? I have done these steps above on my old Pixel7 and new Pixel8 with no luck. I did confirm that RCS worked when I reverted my 7 to stock and the 8 before installing GOS. I installed carrier services but it doesn't seem to ever run.
Edit:
- Gave play services notification, SMS and network.
- Installed google app and gave it the same
- Installed messages and gave it same.
- Tried installing carrier services
- Check permissions in App Ops for messages "read device identifiers perm (already had it)
- Checked Google settings for auto phone number validation
- added number to the SMS settings buried in messages app
- Someone mentioned changing number in sim settings. I couldn't find that but verified my number was right in SIM info.
Gos on Pixel 7, Switzerland carrier.
- Install Play services.
- Install Google Messages and disable RCS in the app
- Give SMS, phone, contact and network permissions to Google Messages
- Give Network, phone, SMS permissions to Play Services.
- Install Shizuku and app opps. Enable wireless USB debugging with Shizuku.
- Force close Messages and Play Services and clear cache.of both.
- Give the read device identifiers permission to Play Services.
- Open Messages, enable RCS. It will connect in minutes (I would say max 1h).
- You can remove device identifiers permission to Play Services and uninstall App Opps and Shizuku.
It disconnected after a few weeks. Do the trick again and it will reconnect.
I did not touch any setting in the Google settings in the parameter.
- Edited
83639273 Wow it worked! I missed the device identifiers for play services. Thank you so much!
Edit. Well it said it was connected but wouldn't actually send an RCS message. Hum...
I shut it off and back on and it connected again. But none of my messages are sent as RCS. More digging to do! However a very positive step in the right direction! Thank you again!
After adding back the phone number in messages advanced, clearing cache for messages and restarting the phone it started sending RCS messages. Thanks to all.
FYI: I did have issues after taking away "read device identifiers" from play services and it started working again after giving that permission back.
GrapheneOS, Pixel 7, Swiss carrier. I use a VPN.
- Install Play services.
- Install Google Messages and disable RCS in the app
- Give SMS, phone, network and scoped contacts permissions to Google Messages
- Give SMS, phone and network permissions to Play Services.
- Install Shizuku and app opps. Enable wireless USB debugging with Shizuku.
- Force close Messages and Play Services and clear cache of both.
- In App Opps, give the read device identifiers permission to Play Services.
- Open Messages, enable RCS. It connected in a few minutes (I would say max 1h).
- Very important step : donate to GrapheneOS
You can remove the device identifiers, SMS and phone permissions to Play Services and uninstall App Opps and Shizuku.
It disconnected after a few weeks. I did the trick again and it reconnected.
I did not touch any setting in the Google tab in the settings.
- Edited
83639273
You're steps worked for me.
I followed everything, then I cleared cache in messages and rebooted. (cap9qd )
In addition, after rebooting, I also turned off developer options.
Unless, someone can give me a reason why I shouldn't, I'm going to leave SMS and phone permissions ON in Play Services for a few weeks and see if RCS disconnects.
Thanks everyone. Now let's see if it lasts.
I was able to get RCS to work. I was missing adding my phone number in the messages app. I went into settings, advanced and put my phone number in which allowed it to work
83639273 Thanks! This also worked for me (Pixel 8 Pro on T-Mobile USA). Worked straight away after a reboot.
I granted READ_DEVICE_IDENTIFIERS
the old fashioned way via adb:
adb shell appops set com.google.android.gms READ_DEVICE_IDENTIFIERS allow
The state of the permission can be found with:
adb shell appops get com.google.android.gms | grep READ_DEVICE_IDENTIFIER
Previously, I had:
READ_DEVICE_IDENTIFIERS: deny; rejectTime=+2m21s554ms ago
After enabling the permission, I have:
READ_DEVICE_IDENTIFIERS: allow; time=+47s616ms ago; rejectTime=+7m4s585ms ago
Note that this will give Google Play Services your IMEI information:
Pixel 6a, GrapheneOS, Germany, o2-SIM.
Over a period of several months I tried all steps in the various instructions in this forum and on several other webpages. Never got further than „Setting up...“. After a GrapheneOS update RCS suddenly started working. IMO the problems are not GrapheneOS related, there are several threads in official Google support forums from stock OS users who experience the same problems. Maybe a kind of dysfunctional anti spam measure from Google.
chenxiaolong Just another confirmation post: I've tried this on and off over the past few months and this is what did it for me (Pixel 8 on MEO Portugal). I've been running this for the past week with no issues to report.
For the record, I have a Xiaomi Redmi Note 7 running LineageOS 21 and RCS worked immediately, even while failing SafetyNet / PlayIntegrity, so I have a suspicion that this is not a anti-root measure, but something else on Google's end (as some of you have pointed out already)
rcs works for me, I changed my subscription from free to bouygues and it works
As far as I'm aware there's no way to get RCS working without the Google Play Services? Can someone confirm that I have that right ?