I have a Pixel 7 Pro with GOS and an eSIM that I want to transfer to a fresh Pixel 9 with no GOS yet.
I gave all the necessary permissions to Google Play Services (network, nearby devices and camera to scan the QR code and phone, just in case), and when I start the process I get dozens of notifications that "Google Play Services needs to show you a notification", when I open it it starts the proces, I scan the QR code on the new phone with the camera and then the new phone processes things for a long time and says "contact your carrier", while Google Play Services on the GrapheneOS phone crash, with the following crash report:
type: crash
osVersion: google/cheetah/cheetah:16/BP2A.250805.005/2025091900:user/release-keys
package: com.google.android.gms:253434035, targetSdk 36
process: com.google.android.gms
processUptime: 45478 + 645 ms
installer: app.grapheneos.apps
GmsCompatConfig version: 161
java.lang.SecurityException: getAvailableSubscriptionInfoList. Does not have any of the following permissions. [android.permission.READ_PRIVILEGED_PHONE_STATE]
at android.os.Parcel.createExceptionOrNull(Parcel.java:3349)
at android.os.Parcel.createException(Parcel.java:3333)
at android.os.Parcel.readException(Parcel.java:3309)
at android.os.Parcel.readException(Parcel.java:3251)
at com.android.internal.telephony.ISub$Stub$Proxy.getAvailableSubscriptionInfoList(ISub.java:1708)
at android.telephony.SubscriptionManager.getAvailableSubscriptionInfoList(SubscriptionManager.java:2203)
at bjvk.h(:com.google.android.gms@253434035@25.34.34 (260400-800653487):21)
at bjmt.l(:com.google.android.gms@253434035@25.34.34 (260400-800653487):400)
at bjmt.g(:com.google.android.gms@253434035@25.34.34 (260400-800653487):1743)
at bjon.i(:com.google.android.gms@253434035@25.34.34 (260400-800653487):20)
at bjoj.run(:com.google.android.gms@253434035@25.34.34 (260400-800653487):9)
at bbim.c(:com.google.android.gms@253434035@25.34.34 (260400-800653487):50)
at bbim.run(:com.google.android.gms@253434035@25.34.34 (260400-800653487):70)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1156)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:651)
at bboe.run(:com.google.android.gms@253434035@25.34.34 (260400-800653487):8)
at java.lang.Thread.run(Thread.java:1119)
Suppressed: gdmn:
at tk_trace.MainThreadWork(Unknown Source:0)
at tk_trace.nearby-IPayloadListener_1(Unknown Source:0)