• Off Topic
  • Using RCS with Google Messages on GrapheneOS

FYI: I did have issues after taking away "read device identifiers" from play services and it started working again after giving that permission back.

cap9qd
Me too
It was the same at the beginning
Just wait a bit and it will work

GrapheneOS, Pixel 7, Swiss carrier. I use a VPN.

  1. Install Play services.
  2. Install Google Messages and disable RCS in the app
  3. Give SMS, phone, network and scoped contacts permissions to Google Messages
  4. Give SMS, phone and network permissions to Play Services.
  5. Install Shizuku and app opps. Enable wireless USB debugging with Shizuku.
  6. Force close Messages and Play Services and clear cache of both.
  7. In App Opps, give the read device identifiers permission to Play Services.
  8. Open Messages, enable RCS. It connected in a few minutes (I would say max 1h).
  9. 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.

    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
      This worked! Had to clear cache and reboot but I am connected and sending with RCS. Anything wrong with leaving Device identifiers on with Play Services?

        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

          PaulDavis Some of us live in countries where texts are not used and not included in any plans at all.

          83639273 Followed all the steps, on a new Graphene install, and it says "RCS chats aren't available for this device."

          After a reboot I was able to enter my number but it just shows status as "Setting up....."

          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.

          11 days later

          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 ?

            For what it's worth, things I did to get it to work;

            • used default "Owner" profile
            • installed google play services, permissions Contacts, Network, Phone, SMS
            • installed carrier services, allow Unrestricted running in background
            • installed Messages, permissions Contacts, Network, Phone, SMS, storage spaces setup, set SMS app to Messages
            • chenxiaolong this step here
            • turned off any VPN, WiFi (to use mobile data)
            • open Messages, turn on RCS
            • wait around 5 minutes
            • working!

              New install of graphene and RCS works pretty much out the box. Did nothing but install Google messaging, turned on RCS, typed in my number and that's it. T-Mobile US is my carrier, no carrier services installed.

                Ducter I don't know if you'll run into the same issue I did. It initially behaved that way for me too (also T-Mobile USA), but Google would silently block access a day later. After the silent "ban", RCS would show as connected, but actually sending and receiving messages would fail. It wasn't until I granted the READ_DEVICE_IDENTIFIERS permission (https://discuss.grapheneos.org/d/1353-using-rcs-with-google-messages-on-grapheneos/352) that it stayed working (a little over 2 weeks for me now).

                  chenxiaolong I've tested between phones and it works but it's only been a couple days and you're correct, it could stop at any point. Maybe I'll go on and enable that just in case.

                  15 days later

                  chenxiaolong Thank you, this finally got it working. Been trying all the steps people suggested for months now, completed this, rebooted and instantly connected.

                  6 days later

                  Sad, I just refuse to have GPS installed on my main profile or have it exposed to my texts

                    graphosor Agreed. I also don't like the idea of google getting access to your contacts, which I presume (?) would allow them to figure out who you are.

                      Bootlace1170
                      I think it's needed beacuse a part of the RCS standard talks about checking if the recipients number is also using RCS. I will have to check on this as they can get your SMS conversations and numbers with the SMS permissions.

                      It might just be add contact pictures and other info locally ,

                      Now if they are sending that data of device I can not say as I don't know

                      9 days later

                      For the people that have it working:

                      1. What's that minimum amount of permissions you need to give to Google to get RCS to work, across all necessary apps?
                      2. Does it need to be on the owner profile?
                      3. Can you have SMS messages go to other profiles as well or would that mess it up? If you can, which SMS app should I use since Google messages won't work on a profile without play services?
                      4. Do you need to be logged into a Google account?
                      5. Will I have problems with Verizon (US Mobile)?

                      I'm trying to see if it's worth trying to get Google Messages. RCS is far superior to SMS/MMS and offers encryption with other Android users. But if I have to hand over too much data to Google to get it to work, it may not be worth it.

                      Is it possible to use RCS on a work profile or is this only working on owner profiles? Also does anyone use Google phone and does it improve call quality over the standard graphene phone app?

                      20 days later

                      I'm stuck at "setting up" and verifying the phone number in the RCS settings.

                      1) Is there a source of truth for instructions to get RCS working? The instructions seem to be all over the place in this thread. I don't know what the latest is.

                      2) is it possible to set up RCS on a user profile or only the owner profile (or both)?

                      3) Are the any known problems getting RCS working on Verizon (in the US)? I saw some point fingers at Verizon in another thread but it wasn't confirmed.

                        This is an incredibly long thread. I feel if someone
                        really needs RCS, it might be better just to move back to stock.

                          I just got it working after my previous post. To get RCS working I followed steps in this thread. The last thing I tried that made it work was enabling the "read_device_identifiers" permissions for Google Messages app via adb. Right after, I disabled usb debugging. I'm on Verizon.

                          I couldn't get it working on a different user profile though. Anyone get it working on a different profile that's not owner?

                            glare8217 I believe it's an OS limitation that messaging can only be accessed from the Owner profile, but I don't use multiple profiles so I can't confirm this personally.

                            And yeah, READ_DEVICE_IDENTIFIERS is what made it connect immediately for me.

                              hemlockiv I can text (sms / mms) fine from both a user profile and the owner profile. It's just enabling RCS on a user profile. I wonder if it'd be different with an eSIM vs a physical one.

                              7 days later

                              Cold_Beer This is an incredibly long thread. I feel if someone
                              really needs RCS, it might be better just to move back to stock.

                              No need for that.

                              glare8217 1) Is there a source of truth for instructions to get RCS working? The instructions seem to be all over the place in this thread. I don't know what the latest is.

                              Yes see @chenxiaolong's post https://discuss.grapheneos.org/d/1353-using-rcs-with-google-messages-on-grapheneos/352

                              No doubt you needed:

                              adb shell appops set com.google.android.gms READ_DEVICE_IDENTIFIERS allow

                              I haven't tried on anything but the owner profile.

                                Maybe a bit off topic question but, for all the hassle to set this up, what is there to gain?
                                According to Google to get E2E encryption you need:

                                • both parties using Google Messages app
                                • both parties having RCS enabled
                                • both parties having access to network via mobie data or Wi-Fi

                                At that point isn't it more reliable to just use another communicator alltogether? I know few people use Signal but pretty much everyone uses WhatsApp from where I come from.

                                  Byku Yes, Whatsapp is pretty much the default here, even with iphone users. Compared to RCS, I’m curious as to which would be considered the most “private”.

                                  Byku

                                  Once iPhone adopts, RCS in IOS 18 , and encryption is standardized It should be a suitable replacement to have on every device. The biggest draw is that the user doesn't have to install a new piece of software. It can be integrated right into the operating system, And have support by the telecom carriers.