firebase / firebase-android-sdk

Firebase Android SDK
https://firebase.google.com
Apache License 2.0
2.24k stars 567 forks source link

Not allowed to start service Intent { act=com.google.android.c2dm.intent.REGISTER pkg=com.google.android.gms (has extras) } without permission com.google.android.c2dm.permission.RECEIVE #1393

Open HanteIsHante opened 4 years ago

HanteIsHante commented 4 years ago

I used the following libraries:

    implementation 'com.google.firebase:firebase-perf:19.0.5'/*Firebase Performance*/
    implementation 'com.google.firebase:firebase-config:19.1.3'/*Firebase Remote Config*/
    implementation 'com.google.firebase:firebase-analytics:17.2.2'/*Firebase Analytics*/
    implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'/*Firebase Crashlytics*/
    implementation 'com.crashlytics.sdk.android:crashlytics-ndk:2.1.1' 

I encountered the following problems:

image image image

Relevant Code:

Fatal Exception: java.lang.SecurityException: Not allowed to start service Intent { act=com.google.android.c2dm.intent.REGISTER pkg=com.google.android.gms (has extras) } without permission com.google.android.c2dm.permission.RECEIVE
       at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1523)
       at android.app.ContextImpl.startService(ContextImpl.java:1500)
       at android.content.ContextWrapper.startService(ContextWrapper.java:624)
       at i.e.c.i.p.c(com.google.firebase:firebase-iid@@20.0.2:28)
       at i.e.c.i.p.b(com.google.firebase:firebase-iid@@20.0.2:1)
       at i.e.c.i.p.a(com.google.firebase:firebase-iid@@20.0.2:69)
       at i.e.c.i.m0.run(com.google.firebase:firebase-iid@@20.0.2:1)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

Everyone, have you met

google-oss-bot commented 4 years ago

I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.

ashwinraghav commented 4 years ago

Hi, I lack context on what you are trying to do. But this SO post seems to do the trick. https://stackoverflow.com/questions/22117317/securityexception-not-allowed-to-start-service-intent-act-com-google-android

Change

<uses-permission android:name="com.example.manyexampleapp.c2dm.permission.RECEIVE" />

to

 <!-- This app has permission to register and receive data message. -->
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
HanteIsHante commented 4 years ago

This is the permission I used:

<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-permission android:name="${applicationId}.permission.C2D_MESSAGE" />
    <permission
        android:name="${applicationId}.permission.C2D_MESSAGE"
        android:protectionLevel="signature" />

Even if the above permissions are added, there will still be such a crash。

TayfunCesur commented 3 years ago

I don't have that permission in my manifest because proper permission is already inside merged manifest. So I don't think, I need to add again. But still I have the crash. Any update?

JeremyR34 commented 3 years ago

Same exeption here. Starts to occurs when using com.google.firebase:firebase-bom:26.1.0 and only on some Android 10 devices:

Fatal Exception: java.lang.SecurityException: Not allowed to bind to service Intent { act=com.google.android.c2dm.intent.REGISTER pkg=com.google.android.gms }
       at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1741)
       at android.app.ContextImpl.bindService(ContextImpl.java:1651)
       at android.content.ContextWrapper.bindService(ContextWrapper.java:705)
       at com.google.android.gms.common.stats.ConnectionTracker.zza(ConnectionTracker.java:32)
       at com.google.android.gms.common.stats.ConnectionTracker.zza(ConnectionTracker.java:10)
       at com.google.android.gms.common.stats.ConnectionTracker.bindService(ConnectionTracker.java:41)
       at com.google.android.gms.cloudmessaging.zzf.zza(zzf.java:17)
       at com.google.android.gms.cloudmessaging.zze.zza(zze.java:18)
       at com.google.android.gms.cloudmessaging.zze.zza(zze.java:12)
       at com.google.android.gms.cloudmessaging.CloudMessagingReceiver.zzb(CloudMessagingReceiver.java:43)
       at com.google.android.gms.cloudmessaging.CloudMessagingReceiver.zza(CloudMessagingReceiver.java:59)
       at com.google.android.gms.cloudmessaging.zzd.run(zzd.java:10)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at com.google.android.gms.common.util.concurrent.zza.run(zza.java:6)
       at java.lang.Thread.run(Thread.java:919)

image

rhasanr commented 3 years ago

Same exception here, Using 'com.google.firebase:firebase-messaging:21.0.1'. After 20 Jan,2021 Crash increase rapidly. This crash happening in a specific phone manufacturer(Symphony - Z28) and Android 10.

Fatal Exception: java.lang.SecurityException: Not allowed to bind to service Intent { act=com.google.android.c2dm.intent.REGISTER pkg=com.google.android.gms } at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1741) at android.app.ContextImpl.bindService(ContextImpl.java:1651) at android.content.ContextWrapper.bindService(ContextWrapper.java:705) at com.google.android.gms.common.stats.ConnectionTracker.zza(ConnectionTracker.java:32) at com.google.android.gms.common.stats.ConnectionTracker.zza(ConnectionTracker.java:10) at com.google.android.gms.common.stats.ConnectionTracker.bindService(ConnectionTracker.java:41) at com.google.android.gms.cloudmessaging.zzf.zza(zzf.java:17) at com.google.android.gms.cloudmessaging.zze.zza(zze.java:18) at com.google.android.gms.cloudmessaging.zze.zza(zze.java:12) at com.google.android.gms.cloudmessaging.CloudMessagingReceiver.zzb(CloudMessagingReceiver.java:43) at com.google.android.gms.cloudmessaging.CloudMessagingReceiver.zza(CloudMessagingReceiver.java:59) at com.google.android.gms.cloudmessaging.zzd.run(zzd.java:5) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at com.google.android.gms.common.util.concurrent.zza.run(zza.java:6) at java.lang.Thread.run(Thread.java:919)

Screenshot 2021-01-21 at 10 41 33 AM
cosic commented 3 years ago

I catch similar crash only Huawei devices with Android 10 without Google Play Services

Caused by java.lang.IllegalStateException Not allowed to start service Intent { act=com.google.android.gms.analytics.ANALYTICS_DISPATCH cmp=ru.cian.main/com.google.android.gms.analytics.AnalyticsService }: app is in background uid UidRecord{f4ea7ba u0a188 CAC bg:+28m40s844ms idle change:cached procs:1 seq(972,972,972)} keyboard_arrow_up arrow_right android.app.ContextImpl.startServiceCommon (ContextImpl.java:1720) android.app.ContextImpl.startService (ContextImpl.java:1675) arrow_drop_down com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1055)

"com.google.firebase:firebase-perf:19.0.9" "com.google.firebase:firebase-config:20.0.0" "com.google.firebase:firebase-analytics:18.0.0" "com.google.firebase:firebase-messaging:21.0.0" "com.google.firebase:firebase-crashlytics-ndk:17.3.0"

Plugin "com.google.gms:google-services:4.3.3"

image

snowman20230101 commented 3 years ago

这是我使用的权限:

<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-permission android:name="${applicationId}.permission.C2D_MESSAGE" />
    <permission
        android:name="${applicationId}.permission.C2D_MESSAGE"
        android:protectionLevel="signature" />

即使添加了上述权限,仍然会发生这样的崩溃。

I have the same thing with you. Android 10 crashes.

bilgehankalkan commented 2 years ago

I got same crashes with devices that have MediaTek Helio A25 chipset with Android 10.

mrana247 commented 2 years ago

Same issue.

Screenshot 2021-08-09 at 11-42-43

Fatal Exception: java.lang.SecurityException: Not allowed to bind to service Intent { act=com.google.android.c2dm.intent.REGISTER pkg=com.google.android.gms } at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1741) at android.app.ContextImpl.bindService(ContextImpl.java:1651) at android.content.ContextWrapper.bindService(ContextWrapper.java:705) at com.google.android.gms.common.stats.ConnectionTracker.zzb(com.google.android.gms:play-services-basement@@17.6.0:11) at com.google.android.gms.common.stats.ConnectionTracker.bindService(com.google.android.gms:play-services-basement@@17.6.0:2) at com.google.android.gms.cloudmessaging.zzf.zza(com.google.android.gms:play-services-cloud-messaging@@16.0.0:17) at com.google.android.gms.cloudmessaging.zze.zza(com.google.android.gms:play-services-cloud-messaging@@16.0.0:18) at com.google.android.gms.cloudmessaging.zze.zza(com.google.android.gms:play-services-cloud-messaging@@16.0.0:12) at com.google.android.gms.cloudmessaging.CloudMessagingReceiver.zzb(com.google.android.gms:play-services-cloud-messaging@@16.0.0:43) at com.google.android.gms.cloudmessaging.CloudMessagingReceiver.zza(com.google.android.gms:play-services-cloud-messaging@@16.0.0:59) at com.google.android.gms.cloudmessaging.zzd.run(:10) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at com.google.android.gms.common.util.concurrent.zza.run(com.google.android.gms:play-services-basement@@17.6.0:2) at java.lang.Thread.run(Thread.java:919)

androideveloper commented 2 years ago

Any updates on this? This is one of our top crashes

MilosKarakas commented 2 years ago

Getting this same error on Wiko View4 with Mediatek MT6762d chip. Any updates?

androideveloper commented 2 years ago

Seems duplicate of with https://github.com/firebase/firebase-android-sdk/issues/2062 which was fixed in firebase-messaging:23.0.0