java.lang.SecurityException in com.mxtech.videoplayer.ActivityWebBrowser

647 views
Skip to first unread message

Felix

unread,
Oct 25, 2019, 4:55:06 AM10/25/19
to Google Mobile Ads SDK Developers
There are some crashes in firebase coming from a library of an advertiser: com.mxtech.videoplayer.ad/com.mxtech.videoplayer.ActivityWebBrowser

Devices: only Samsung, Android 9

Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.*/com.google.android.gms.ads.AdActivity}: java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.VIEW dat=https://googleads.g.doubleclick.net/... flg=0x10000000 cmp=com.mxtech.videoplayer.ad/com.mxtech.videoplayer.ActivityWebBrowser } from ProcessRecord{6cb22f9d0 5116:***/u0a347} (pid=5116, uid=10347) not exported from uid 10311
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3126)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3269)
       at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
       at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
       at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1960)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:214)
       at android.app.ActivityThread.main(ActivityThread.java:7094)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:975)

Caused by java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.VIEW dat=https://googleads.g.doubleclick.net/... flg=0x10000000 cmp=com.mxtech.videoplayer.ad/com.mxtech.videoplayer.ActivityWebBrowser } from ProcessRecord{6cb22f9d0 5116:***/u0a347} (pid=5116, uid=10347) not exported from uid 10311
       at android.os.Parcel.createException(Parcel.java:1966)
       at android.os.Parcel.readException(Parcel.java:1934)
       at android.os.Parcel.readException(Parcel.java:1884)
       at android.app.IActivityManager$Stub$Proxy.startActivity(IActivityManager.java:3619)
       at android.app.Instrumentation.execStartActivity(Instrumentation.java:1673)
       at android.app.Activity.startActivityForResult(Activity.java:4696)
       at android.app.Activity.startActivityForResult(Activity.java:4654)
       at android.app.Activity.startActivity(Activity.java:5015)
       at android.app.Activity.startActivity(Activity.java:4983)
       at com.google.android.gms.internal.ads.zzaul.zza(zzaul.java:331)
       at com.google.android.gms.ads.internal.overlay.zzb.zza(zzb.java:43)
       at com.google.android.gms.ads.internal.overlay.zzb.zza(zzb.java:7)
       at com.google.android.gms.ads.internal.overlay.zzu.onCreate(zzu.java:23)
       at com.google.android.gms.ads.AdActivity.onCreate(AdActivity.java:9)
       at android.app.Activity.performCreate(Activity.java:7340)
       at android.app.Activity.performCreate(Activity.java:7331)
       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1275)
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3106)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3269)
       at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
       at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
       at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1960)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:214)
       at android.app.ActivityThread.main(ActivityThread.java:7094)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:975)


Can this be forwarded to the person in charge? Otherwise, I will simple block the advertiser to solve the problem for me.

Thanks,
Felix

Mobile Ads SDK Forum Advisor Prod

unread,
Oct 25, 2019, 2:04:46 PM10/25/19
to f0h...@gmail.com, google-adm...@googlegroups.com
Hello Felix, 

I'm checking this internally with the team. Meanwhile, could you please share us the following details to investigate further?

1. SDK version being used
2. Could you please confirm if the issue is reproducible? If yes, please share the steps to reproduce
3. Few additional stack traces/ Crashlytics Link

This information will help us debug this further. You can share the details privately via Reply privately to author option. 

Thanks,
Bharani Cherukuri
Mobile Ads SDK Team

ref:_00D1U1174p._5001UKOTAw:ref

Rutger

unread,
Mar 28, 2020, 7:36:27 AM3/28/20
to Google Mobile Ads SDK Developers
Hi,

What's the status of this bug?
I've seen this regularly appear in our app as well.

Mobile Ads SDK Forum Advisor Prod

unread,
Mar 29, 2020, 8:57:44 PM3/29/20
to hang...@criticalbit.nl, google-adm...@googlegroups.com

Hi Rutger,

 

Thank you for reaching out to us.

 

I'm afraid that this issue wasn't worked on, since the original poster (Felix) did not respond to our inquiry for more details. That being said, we will be able to investigate this further if you could provide the details below (via Reply privately to author):

  • AdMob SDK version
  • Android versions and device names of affected devices
  • Copy of your project (or a modified sample project) reproducing the issue
  • Steps to replicate the issue

 

Regards,

Ziv Yves Sanchez

Mobile Ads SDK Forum Advisor Prod

unread,
Mar 30, 2020, 1:23:21 PM3/30/20
to f0h...@gmail.com, google-adm...@googlegroups.com
Hi Rutger,

Thank you for bringing this issue to our attention.

As stated before, any additional information that you can pass along with help us in resolving this issue for you. I would ask if it is possible to get a Charles log of the crash, can find out more about it here and here . Or can we get a sample app that we can test against.

I would also check with MXPlayer and make sure that your version is inline with Admob and Android requirements.

Regards,
William Pescherine

Gullu Studios

unread,
May 7, 2020, 3:35:48 PM5/7/20
to google-adm...@googlegroups.com
facing same crash

Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.app.package/com.google.android.gms.ads.AdActivity}: java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.VIEW dat=https://googleads.g.doubleclick.net/... flg=0x10000000 cmp=com.mxtech.videoplayer.ad/com.mxtech.videoplayer.ActivityWebBrowser } from ProcessRecord{5acdd9dd0 28407:com.app.package/u0a182} (pid=28407, uid=10182) not exported from uid 10177
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3126)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3269)
       at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
       at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
       at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1960)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:214)
       at android.app.ActivityThread.main(ActivityThread.java:7081)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)

steps to reproduce.


https://stackoverflow.com/questions/57223127/securityexception-crash-opening-link-in-external-browser-when-mx-player-is-inst

Mobile Ads SDK Forum Advisor Prod

unread,
May 7, 2020, 6:09:53 PM5/7/20
to gullus...@gmail.com, google-adm...@googlegroups.com
HI Gullu Studios,


Thank you for bringing this issue to our attention.

There seems to be an issue with the mxplayer that is causing the issue as you saw with the fatal error. And from these 2 articles you can see this here and here . Along with possible solutions to help with this.


Regards,
William Pescherine
Mobile Ads SDK Team

ref:_00D1U1174p._5004Q1zKliO:ref

Rutger

unread,
May 14, 2020, 7:37:01 AM5/14/20
to Google Mobile Ads SDK Developers
Since both those posts you are reffering to are quite old, and, as suggested in the StackOverflow post: "Android shouldn't crash the app, it should ignore unexported activities in this case."
I take it this either didn't happen yet, or all the crashes are from older devices. (Which according to our data, does seem to be the case).

Other than that, it seems to be an issue with MXPlayer and other than informing our users about this after the fact, there doesn't seem to be an actual solution here.

Unless there indeed (as was asked on StackOverflow) is a way to try/catch the clicking of the ads, in order to prevent the crash. But then this could also have just as well been already fixed on the AdMob SDK side, right?

The other solution we've tried to implement, which only helps if it's indeed caused by a retargeting campaign by MXPlayer and not (simply) a bad version of their app installed on the device, is to block their ads from being shown.
But as I said this would not help in the case of it happening for all ads being clicked while a (bad) version of MXPlayer is installed on the device. So not really a solution either.

Long story short: I fail to see THE solution presented in the links mentioned (for us to implement). Thank you for clarifying.

Mobile Ads SDK Forum Advisor Prod

unread,
May 14, 2020, 12:39:18 PM5/14/20
to hang...@criticalbit.nl, google-adm...@googlegroups.com
Hi Rutger,

Thank you for responding back.

And I have been looking at what you said. And looking more into this to get a better idea of how we can try to help you with this.

I was looking over some of the callback functions that Admob has in it. Such as the onAdClicked(), or the onAdClosed(). Which would allow you to handle some logics inside them. even the onAdLoaded() would allow you to run some kind of logic in there.

Probably too much to check the mxplayer version but maybe like some try/catch that when it catches the error will help to redirect you. Or if you can detect the phone and know it's an older one then give something from there.

As there seems to be some issue with mxplayer and android version that could be at conflict with each other and could be causing this. And thus no way to really control that. I do not believe its the SDK as we are pulling in really from those 2 components.

Rutger

unread,
May 19, 2020, 6:16:44 AM5/19/20
to Google Mobile Ads SDK Developers
Hi William,

Thank you. Seems like that's where a possible solution lies indeed.

will be available for Unity soon as well. Which may help us find (and block) the specific ads more easily.

But all in all it's more a frustration about how one app developer (MX) can have such a negative impact on other developers.
And that other developers are needing to create workarounds. It seems the world up side down.

I know it's not like MX could fix this themselves, but seems like this should be needed to be prevented to happen (again) in the future.
Just my 2 cents on this.

Mobile Ads SDK Forum Advisor Prod

unread,
May 19, 2020, 12:10:06 PM5/19/20
to hang...@criticalbit.nl, google-adm...@googlegroups.com
HI Rytger,

Yes, the Firebase with he crashalytics would be I think a great help for you once it is added. So as to allow you the chance to get a better idea of how to handle issues like this.

As for the MX part, yeah I can only think of using some callbacks or maybe if possible to find some way to use a difference player or install something. But to me that is not a great solution. I would say best for now is to handle it in the callbacks.
Reply all
Reply to author
Forward
0 new messages