Status Update
Comments
jk...@gmail.com <jk...@gmail.com> #3
We have shared this with our product and engineering team and will update this issue with more information as it becomes available.
ne...@google.com <ne...@google.com> #4
Moving this to Studio's side as it's a layoutlib issue, not a framework issue.
is...@google.com <is...@google.com>
vi...@google.com <vi...@google.com>
[Deleted User] <[Deleted User]> #5
Have you considered a solution where synchronization is to be opted in and can be enabled only by paparazzi?
[Deleted User] <[Deleted User]> #6
The fix has nothing to do with Paparazzi. The code in Android Studio is broken and a similar test case as above written inside a View rendered with preview will cause the IDE to crash.
ma...@oyorooms.com <ma...@oyorooms.com> #7
ma...@oyorooms.com <ma...@oyorooms.com> #8
It is included in layoutlib that ships in Flamingo since Flamingo Beta 2 (2022.2.1.13), and in Giraffe since Giraffe Canary 2 (2022.3.1.2)
ma...@oyorooms.com <ma...@oyorooms.com> #9
is any one from google team try to look into it?
Fatal Exception: java.lang.SecurityException
Not allowed to bind to service Intent { act=com.google.android.finsky.BIND_GET_INSTALL_REFERRER_SERVICE cmp=com.android.vending/com.google.android.finsky.externalreferrer.GetInstallReferrerService }
Devices
61% - Xiaomi
8% - HUAWEI
8% - OPPO
6% - samsung
17% - Other (7)
Android Version
79% - Android 9
9% - Android 8
6% - Android 10
3% - Android 5
3% - Other (1)
ma...@oyorooms.com <ma...@oyorooms.com> #10
si...@old.busybusy.com <si...@old.busybusy.com> #11
[Deleted User] <[Deleted User]> #12
ce...@gmail.com <ce...@gmail.com> #13
bi...@spotify.com <bi...@spotify.com> #14
[Deleted User] <[Deleted User]> #15
If other apps work in the same way, storing the referrer info will be one of the first things done after installation, and if a user hits a crash right after install it's pretty poor UX!
And as others have said, this issue will start to become a lot more prevalent now apps have to use the referrer library and can't use the Intent mechanism we had available before.
ce...@gmail.com <ce...@gmail.com> #16
sh...@freecharge.com <sh...@freecharge.com> #17
sz...@gmail.com <sz...@gmail.com> #18
+1
jo...@gtempaccount.com <jo...@gtempaccount.com> #19
ze...@gmail.com <ze...@gmail.com> #20
an...@jobhai.com <an...@jobhai.com> #21
an...@jobhai.com <an...@jobhai.com> #22
Sharing some crash data -
This issue has 16 crashes affecting 3 users
OEM - vivo
Android Version 5.1.1
[Deleted User] <[Deleted User]> #23
I am also facing the same issue. I tried adding the permission, but that doesn't seem to have solved the issue. Attaching my crash log
Fatal Exception: java.lang.SecurityException: Not allowed to bind to service Intent { act=com.google.android.finsky.BIND_GET_INSTALL_REFERRER_SERVICE cmp=com.android.vending/com.google.android.finsky.externalreferrer.GetInstallReferrerService }
at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1939)
at android.app.ContextImpl.bindService(ContextImpl.java:1903)
at android.content.ContextWrapper.bindService(ContextWrapper.java:539)
at com.android.installreferrer.api.InstallReferrerClientImpl.startConnection(InstallReferrerClientImpl.java:38)
at com.greedygame.core.GreedyGameAds$Companion$b.a(GreedyGameAds.java:20)
at a.a.b.a.invoke(a.java:147)
at com.greedygame.core.GreedyGameAds$b$a.run(GreedyGameAds.java:2)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5660)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:963)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:758)
80 Crashes so far on a wide variety of devices.
li...@google.com <li...@google.com>
li...@google.com <li...@google.com>
pr...@gmail.com <pr...@gmail.com> #24
I am also facing the same issue. I tried adding the permission, but that doesn't seem to have solved the issue
I have added only the below reference into my build.gradle to get an install referral from the play store but I am getting this error and it is a lot.
implementation 'com.android.installreferrer:installreferrer:2.1'
Error:
```
java.lang.SecurityException
Not allowed to bind to service Intent { act=com.google.android.finsky.BIND_GET_INSTALL_REFERRER_SERVICE cmp=com.android.vending/com.google.android.finsky.externalreferrer.GetInstallReferrerService launchParam=MultiScreenLaunchParams { mDisplayId=NUM mFlags=NUM } }
```
ja...@gmail.com <ja...@gmail.com> #25
mReferrerClient = newBuilder(Activity***.this).build();
mReferrerClient.startConnection(Activity***.this); //this line is creating trouble
Fatal Exception: java.lang.SecurityException: Not allowed to bind to service Intent { act=com.google.android.finsky.BIND_GET_INSTALL_REFERRER_SERVICE cmp=com.android.vending/com.google.android.finsky.externalreferrer.GetInstallReferrerService }
at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1824)
at android.app.ContextImpl.bindService(ContextImpl.java:1788)
at android.content.ContextWrapper.bindService(ContextWrapper.java:539)
at com.android.installreferrer.api.InstallReferrerClientImpl.startConnection(InstallReferrerClientImpl.java:35)
at com.talkhome.ui.HomeScreenActivity_Caraousel$3$1.run(****.java:273)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5345)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:947)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:742)
ra...@gmail.com <ra...@gmail.com> #26
yo...@gmail.com <yo...@gmail.com> #27
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3319)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415)
at android.app.ActivityThread.access$1100(ActivityThread.java:229)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7325)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by: java.lang.SecurityException: Not allowed to bind to service Intent { act=com.google.android.finsky.BIND_GET_INSTALL_REFERRER_SERVICE cmp=com.android.vending/com.google.android.finsky.externalreferrer.GetInstallReferrerService }
at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1460)
at android.app.ContextImpl.bindService(ContextImpl.java:1418)
at android.content.ContextWrapper.bindService(ContextWrapper.java:632)
at com.android.installreferrer.api.InstallReferrerClientImpl.startConnection(InstallReferrerClientImpl.java:35)
at com.wa.sdk.wa.core.a.a.a(WAGGInstallReferrerManager.java:58)
at com.wa.sdk.wa.core.WASdkCore.initialize(WASdkCore.java:66)
at com.wa.sdk.core.WACoreProxy.coreInitialize(WACoreProxy.java:203)
at com.wa.sdk.core.WACoreProxy.initialize(WACoreProxy.java:40)
at com.complatform.gamesdk.GameSdkActivity.init(GameSdkActivity.java:117)
at com.angame.ddtank.MainActivity.onCreate(MainActivity.java:126)
at android.app.Activity.performCreate(Activity.java:6904)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1136)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3266)
... 9 more
java.lang.SecurityException: Not allowed to bind to service Intent { act=com.google.android.finsky.BIND_GET_INSTALL_REFERRER_SERVICE cmp=com.android.vending/com.google.android.finsky.externalreferrer.GetInstallReferrerService }
at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1460)
at android.app.ContextImpl.bindService(ContextImpl.java:1418)
at android.content.ContextWrapper.bindService(ContextWrapper.java:632)
at com.android.installreferrer.api.InstallReferrerClientImpl.startConnection(InstallReferrerClientImpl.java:35)
at com.wa.sdk.wa.core.a.a.a(WAGGInstallReferrerManager.java:58)
at com.wa.sdk.wa.core.WASdkCore.initialize(WASdkCore.java:66)
at com.wa.sdk.core.WACoreProxy.coreInitialize(WACoreProxy.java:203)
at com.wa.sdk.core.WACoreProxy.initialize(WACoreProxy.java:40)
at com.complatform.gamesdk.GameSdkActivity.init(GameSdkActivity.java:117)
at com.angame.ddtank.MainActivity.onCreate(MainActivity.java:126)
at android.app.Activity.performCreate(Activity.java:6904)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1136)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3266)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415)
at android.app.ActivityThread.access$1100(ActivityThread.java:229)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7325)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
[Deleted User] <[Deleted User]> #28
sa...@fundsindia.com <sa...@fundsindia.com> #29
Fatal Exception: java.lang.SecurityException: Not allowed to bind to service Intent { act=com.google.android.finsky.BIND_GET_INSTALL_REFERRER_SERVICE cmp=com.android.vending/com.google.android.finsky.externalreferrer.GetInstallReferrerService }
at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1795)
at android.app.ContextImpl.bindService(ContextImpl.java:1705)
at android.content.ContextWrapper.bindService(ContextWrapper.java:716)
at com.android.installreferrer.api.InstallReferrerClientImpl.startConnection(InstallReferrerClientImpl.java:38)
at com.fundsindia.SplashScreenActivity.getInstallReferrerFromClient(SplashScreenActivity.java:496)
at com.fundsindia.SplashScreenActivity.access$getInstallReferrerFromClient(SplashScreenActivity.java:53)
at com.fundsindia.SplashScreenActivity$checkInstallReferrer$1.run(SplashScreenActivity.java:489)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:919)
28% Samsung
24% realme
17% vivo
14% INFIX MOBILITY
65% Android 10
ku...@gmail.com <ku...@gmail.com> #30
From the release notes here:
This bug has apparently been fixed in version 2.2.
Is that true, can this ticket be marked as 'Fixed'?
li...@google.com <li...@google.com>
jo...@gmail.com <jo...@gmail.com> #31
at android.app.ActivityThread.handleBindService(ActivityThread.java:4385)
at android.app.ActivityThread.access$1900(ActivityThread.java:261)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2049)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:236)
at android.app.ActivityThread.main(ActivityThread.java:8051)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:620)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1011)
Caused by: java.lang.SecurityException: Too many PendingIntent created for uid 10195, aborting Key{broadcastIntent pkg=com.google.android.gms/com.google.android.gms.gcm intent=act=ACTION_BOGUS pkg=com.google.example.invalidpackage cmp=com.google.example.invalidpackage/BogusClass flags=0x0 u=0} requestCode=0
at android.os.Parcel.createExceptionOrNull(Parcel.java:2376)
at android.os.Parcel.createException(Parcel.java:2360)
at android.os.Parcel.readException(Parcel.java:2343)
at android.os.Parcel.readException(Parcel.java:2285)
at android.app.IActivityManager$Stub$Proxy.getIntentSenderWithFeature(IActivityManager.java:6868)
at android.app.PendingIntent.getBroadcastAsUser(PendingIntent.java:578)
at android.app.PendingIntent.getBroadcast(PendingIntent.java:561)
at ajrx.b(:com.google.android.gms@214856037@21.48.56 (150400-423831984):0)
at ajyy.<init>(:com.google.android.gms@214856037@21.48.56 (150400-423831984):3)
at ajza.<init>(:com.google.android.gms@214856037@21.48.56 (150400-423831984):0)
at ajyc.m(:com.google.android.gms@214856037@21.48.56 (150400-423831984):4)
at ajyc.e(:com.google.android.gms@214856037@21.48.56 (150400-423831984):5)
at ajyc.g(:com.google.android.gms@214856037@21.48.56 (150400-423831984):5)
at afav.<init>(:com.google.android.gms@214856037@21.48.56 (150400-423831984):11)
at afaz.b(:com.google.android.gms@214856037@21.48.56 (150400-423831984):4)
at crto.b(:com.google.android.gms@214856037@21.48.56 (150400-423831984):1)
at afay.b(:com.google.android.gms@214856037@21.48.56 (150400-423831984):2)
at crto.b(:com.google.android.gms@214856037@21.48.56 (150400-423831984):1)
at afdv.b(:com.google.android.gms@214856037@21.48.56 (150400-423831984):2)
at crto.b(:com.google.android.gms@214856037@21.48.56 (150400-423831984):1)
at affi.b(:com.google.android.gms@214856037@21.48.56 (150400-423831984):2)
at crto.b(:com.google.android.gms@214856037@21.48.56 (150400-423831984):1)
at crtn.b(:com.google.android.gms@214856037@21.48.56 (150400-423831984):2)
at afaj.b(:com.google.android.gms@214856037@21.48.56 (150400-423831984):2)
at crto.b(:com.google.android.gms@214856037@21.48.56 (150400-423831984):1)
at afah.b(:com.google.android.gms@214856037@21.48.56 (150400-423831984):40)
at com.google.android.gms.gcm.registration.PushMessagingRegistrarChimeraProxy.onBind(:com.google.android.gms@214856037@21.48.56 (150400-423831984):1)
at syn.onBind(:com.google.android.gms@214856037@21.48.56 (150400-423831984):3)
at android.app.ActivityThread.handleBindService(ActivityThread.java:4370)
... 8 more
bi...@gmail.com <bi...@gmail.com> #32
I've same problem with Xiaomi devices with Android 11:
Fatal Exception: java.lang.SecurityException
Too many PendingIntent created for uid 10367, aborting Key{broadcastIntent pkg=com.bitrix24.android intent=act=package com.bitrix24.lib.push, Unknown, version 0.0.ACTION.LIKE cmp=com.bitrix24.android/com.bitrix24.lib.push.LikeReceiver flags=0x0 u=0} requestCode=483807264
android.os.Parcel.createExceptionOrNull (Parcel.java:2376)
android.app.PendingIntent.getBroadcastAsUser (PendingIntent.java:578)
android.app.PendingIntent.getBroadcast (PendingIntent.java:561)
... 8 more
sk...@gmail.com <sk...@gmail.com> #33
Caused by: java.lang.SecurityException:
at android.os.Parcel.createExceptionOrNull (Parcel.java:2376)
at android.os.Parcel.createException (Parcel.java:2360)
at android.os.Parcel.readException (Parcel.java:2343)
at android.os.Parcel.readException (Parcel.java:2285)
at android.app.IActivityManager$Stub$Proxy.getIntentSenderWithFeature (IActivityManager.java:6850)
at android.app.PendingIntent.getBroadcastAsUser (PendingIntent.java:578)
at android.app.PendingIntent.getBroadcast (PendingIntent.java:561)
qi...@gmail.com <qi...@gmail.com> #34
I have a stable repro for this when using install referrer library version 2.1. The app won't crash if the latest library version 2.2 is used. (Thanks for the fix.)
My repro steps: 1, Set up an AOSP 11 x86_64 emulator without Google APIs or Google Play; 2, Install the 3 packages from APK download sites: Google Services Framework 10 Google Play services 22.26.15 Google Play Store 16.8.17 3, Launch your app and when the code executes to the point where InstallReferrerClient.startConnection() is called, there would be a crash is the old library is used.
When GMS is mis-installed by a user, app would crash. GMS requires signature permissions to function and can't work if it's installed as an ordinary user app. Some OEMs don't ship their devices with GMS pre-installed, so some users may install GMS on their own, and if GMS is mis-installed by users, then GMS will lack of the necessary permissions.
Hope this helps.
Description
The original issue:
Exception appears when calling startConnection on InstallReferrerClient object
Stack trace:
```
Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{<app package>/<app package>.MainActivity}: java.lang.SecurityException: Not allowed to bind to service Intent { act=com.google.android.finsky.BIND_GET_INSTALL_REFERRER_SERVICE cmp=com.android.vending/com.google.android.finsky.externalreferrer.GetInstallReferrerService }
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3319)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415)
at android.app.ActivityThread.access$1100(ActivityThread.java:229)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7325)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by java.lang.SecurityException: Not allowed to bind to service Intent { act=com.google.android.finsky.BIND_GET_INSTALL_REFERRER_SERVICE cmp=com.android.vending/com.google.android.finsky.externalreferrer.GetInstallReferrerService }
at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1460)
at android.app.ContextImpl.bindService(ContextImpl.java:1418)
at android.content.ContextWrapper.bindService(ContextWrapper.java:632)
at com.android.installreferrer.api.InstallReferrerClientImpl.startConnection(InstallReferrerClientImpl.java:135)
at com.wt.pinger.activity.MainActivity.onCreate(MainActivity.java:107)
at android.app.Activity.performCreate(Activity.java:6904)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1136)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3266)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415)
at android.app.ActivityThread.access$1100(ActivityThread.java:229)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7325)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
```