• Off Topic
  • Using RCS with Google Messages on GrapheneOS

@Audi123 Could you check something real quick? I'm curious if there are some hidden permissions that might be affecting this. Could you please open an adb shell and run:
for i in com.google.android.gms com.android.vending com.google.android.dialer com.google.android.apps.messaging; do echo '--------'; echo $i; appops get $i READ_DEVICE_IDENTIFIERS; done
and paste your output in a comment here? (all this does is query the state of some google app permissions; it doesn't set or change anything on your device)

9 days later
  • Edited

I'm pretty sure RCS on Grapheneos is impossible at this point. "Google has begun implementing Play Integrity API attestation checks (popularly known as “SafetyNet checks,” inspired by the predecessor SafetyNet API) on the Google Messages app." Google spokesperson admitted they're doing this to "fight spammers."

https://www.androidauthority.com/p-3421652/

This is the same attestation that prevents things like Google Pay and some banking apps from working on grapheneos, right? If that's the case, RCS on grapheneos is dead in the water since grapheneos developers have said repeatedly that they won't play the cat and mouse game to get apps to work with this as it will take too much time and potentially erode security.

Articles are also pointing out that unlike Google Pay/Wallet that notifies you that it won't work on custom Roms, Google Messages doesn't notify you but silently breaks RCS functionality, even if the app settings say RCS is enabled.

    The last sentence of that article:

    In the interim, you can use other messaging apps that support RCS.

    Ok, but CAN you though? What other messaging apps?

    ...also, if Messages is starting to do hardware attestation, why not simply install a slightly older of the app that doesn't have that API functionality?

    Sbpr That's a good point. Even on something as simple as LineageOS I had to root the device and use Magisk to get RCS to work. So I had to make the phone much less secure in order to use their secure messaging app!

    Upon the news that Google is purposely blocking custom roms from using RCS, should GrapheneOS officially list RCS as one of the Android features that won't work on it similar to Google Pay?

    8 days later

    Must be changes to the requirements as mentioned earlier.

    https://pc-tablet.com/google-messages-rcs-fails-on-rooted-custom-rom-android-phones-an-in-depth-analysis/

    Was working fine on my Pixel 7a with Graphene. I changed carriers and had to re-register RCS and now it fails to work. Didn't need to do anything special before, it just worked. Tried everything mentioned in this thread, along with trying older versions of Google Messages, no go.

    I guess another push to convince people to just go to Signal.

      tarv Thanks for posting that link.
      I check into this thread occasionally, but I have given up. I only used RCS for a short time, so I'm not missing anything. I wouldn't consider it private by any means, so for me it was just the ability to send a larger picture, or have read receipts... No big deal.
      Signal FTW

      6 days later

      So, for anyone that pass here : i think i found something and, maybe, a way to fix this ?

      So i just stumble to this reddit post : https://www.reddit.com/r/GrapheneOS/comments/1ci0u7a/comment/l2g6905/

      And, yeah, i think this post have something. So i try the solution : i have already shizuku installed, and i install App Ops on Play Store (here) but it seems the google messages app already have the "Read device identifiers" authorized.

      But not Google Services

      So i give "Read device identifiers" with App Ops on the Google Services app, kill google messages app, redo the rcs activation (with toogle of google number validation that people talk) and : hurray : now rcs just show "connected" and just seem to work now !

      So, will see if it's stay like that. It also worth trying to maybe revoke the authorization of play services to device identifiers after to see if it's work ?

      Also, like the post say : this could potentially lead to grapheneos not to be secure and break the isolated google stuff ? Dunno, for me i don't see any bugs or weird behavior for the moment.

      So, i hope it help some peoples, maybe some can try if it's work for them too ?

        tripop
        Damn it worked. Finally. Thanks mate. Creating an account just for this. Can I now :

        1. disallow the read device identifiers permission to Play services
        2. Disable wireless debugging
        3. Uninstall Shizuku
        4. Uninstall apps ops
          Thanks

        For people that got this to work (for however long that may be), what's your profile setup? Given how many permissions you need to hand over, it probably makes sense to keep this in its own dedicated profile with other intrusive Google apps.

        Do you share SMS with other profiles? If I install another SMS client on another profile, will it mess up RCS in the google profile? Will my RCS messages appear in the other SMS apps?

        11 days later

        My RCS was working just fine for a long time on Google Messages Beta with Carrier Services Beta installed. Until today, when i had constant pop ups that my messages may not have been received because the other person appears offline. Trying to rectify this situation, assuming it was a bug in a beta update, I uninstalled the beta and installed the most recent stable version from the play store. Now it doesn't give me the RCS toggle option and instead says that RCS is not available for my device. I think they've killed it with the Play attestation as mentioned above. Bummer.

        • Sbpr replied to this.

          eatinggrumble84 its still working for me. If you're using Google Messages while logged in, try doing this first:

          Confirm all Sandboxed Google Framework and Google Play Services are installed on that profile. Make sure play services has access to at least Network, SMS, Notifications.

          Install the actual Google app from the Play Store if not installed already. Give it access to at least Network , SMS, Notifications.

          For Google Messages, give it at least Network, SMS. notifications. I also gave it access to contacts and phone, but it may not be necessary. You may need to reinstall the app if it's not letting you try to verify.

          I do not have Google's carrier services app installed.

          After doing everything above, close google messages (to be on the safe side). Open the Settings app on your phone. Go to:
          -> Apps
          -> Sandboxed Google Play
          -> Google Settings
          -> All Services tab (for the google account you're using with Messages)
          -> Mobile data & messaging
          -> Phone Number Verification
          Toggle Automatically Verify Phone Number (s) to on.

          Afterwards, re-open Google Messages and go to the RCS section of settings. It may already say connected or try to verify again and see if it connects this time.

          Hope this helps!

            Sbpr

            I appreciate the help. I believe my issue was related to outdated Google Play Services. A couple apps had difficulty showing maps, indefinitely stuck on a screen showing "Google Play Services Updating...". After updating GrapheneOS today to 2024060500, my RCS enabled itself immediately and I've had no further issues.

            Reading through peoples problems makes me appreciate my experience.
            The various Play services have their settings as per initial instructions from original GOS install.
            I downloaded the google messenger for RCS.
            I had to go to the sim settings to make sure my number was set.
            I then went to GM wherein I entered my number and had to "verify". A couple of hours later, all connected.
            It has now been over month, without any issue from the start. Yet when I tried to invoke it on my Xiaomi, it took a couple of weeks even though it was the same network. I think the sim settings and number recognition are important, especially if you have recently ported your number

            I'm not crazy about using Google's Messages app for texting, but my threat model is low and with iMessage implementing RCS the Apple Fanboys in the family will only become more resistant to using Signal.
            It appears as though RCS is working for me on Mint Mobile, though it remains to be seen if I'll disconnect after a few days. Is there anything definitive Privacy wise I need to do if I'm going to use the app as my primary SMS/MMS/RCS?

            Sbpr
            This menthod worked for me. The Google app must be used to pull down a config or verify something about the device. I was able to keep my connection to googles RCS network after deleting the Google app. Hopfully its not needed to keep RCS enabled

              I've been using Messages for about a week...thus far, my Mint Mobile eSim hasn't lost connection to RCS (knock on wood). I did not download the Google app beforehand to activate, but I did disconnect from VPN and WiFi during the initial activation.
              So far working well, I don't really like using Google's Messages app but my family won't download Signal and I'm sick of the iPhone users complaining about texting Android users.

                5rlyn with unlimited texts as part of a normal deal, how is messaging any better sending a text?
                Are people so desperate to have instant proof I've ignored their message?