Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Admob Security Exception : Permission Denial

I tap on my AdView and open alibaba app page in play store and then installed it. After that, I started to get this error and my app crashed whenever I tap on the AdView. After uninstalling this alibaba app, I was able to tap and view the ads.

Now I'm curious why this happened?

Caused by java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.VIEW dat=https://www.googleadservices.com/... flg=0x10000000 cmp=com.alibaba.intl.android.apps.poseidon/com.alibaba.android.intl.weex.activity.WeexPageActivity } from ProcessRecord{800f07c 11735:com.figengungor.konuscevir/u0a452} (pid=11735, uid=10452) not exported from uid 10256

Here is my full crash report:

Exception java.lang.RuntimeException: Unable to start activity ComponentInfo{com.figengungor.konuscevir/com.google.android.gms.ads.AdActivity}: java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.VIEW dat=https://www.googleadservices.com/... flg=0x10000000 cmp=com.alibaba.intl.android.apps.poseidon/com.alibaba.android.intl.weex.activity.WeexPageActivity } from ProcessRecord{800f07c 11735:com.figengungor.konuscevir/u0a452} (pid=11735, uid=10452) not exported from uid 10256
android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2726)
android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2787)
android.app.ActivityThread.-wrap12 (ActivityThread.java)
android.app.ActivityThread$H.handleMessage (ActivityThread.java:1504)
android.os.Handler.dispatchMessage (Handler.java:102)
android.os.Looper.loop (Looper.java:154)
android.app.ActivityThread.main (ActivityThread.java:6247)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:872)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:762)
arrow_drop_down
Caused by java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.VIEW dat=https://www.googleadservices.com/... flg=0x10000000 cmp=com.alibaba.intl.android.apps.poseidon/com.alibaba.android.intl.weex.activity.WeexPageActivity } from ProcessRecord{800f07c 11735:com.figengungor.konuscevir/u0a452} (pid=11735, uid=10452) not exported from uid 10256
android.os.Parcel.readException (Parcel.java:1683)
android.os.Parcel.readException (Parcel.java:1636)
android.app.ActivityManagerProxy.startActivity (ActivityManagerNative.java:3141)
android.app.Instrumentation.execStartActivity (Instrumentation.java:1520)
android.app.Activity.startActivityForResult (Activity.java:4317)
android.app.Activity.startActivityForResult (Activity.java:4276)
android.app.Activity.startActivity (Activity.java:4600)
android.app.Activity.startActivity (Activity.java:4568)
com.google.android.gms.ads.internal.util.ac.a (:com.google.android.gms.DynamiteModulesA:1154)
com.google.android.gms.ads.internal.overlay.a.a (:com.google.android.gms.DynamiteModulesA:93)
com.google.android.gms.ads.internal.overlay.a.a (:com.google.android.gms.DynamiteModulesA:36)
com.google.android.gms.ads.internal.overlay.m.a (:com.google.android.gms.DynamiteModulesA:366)
com.google.android.gms.ads.internal.overlay.client.c.onTransact (:com.google.android.gms.DynamiteModulesA:58)
android.os.Binder.transact (Binder.java:499)
com.google.android.gms.b.ahc.a ()
com.google.android.gms.ads.AdActivity.onCreate ()
android.app.Activity.performCreate (Activity.java:6757)
android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1119)
android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2679)
android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2787)
android.app.ActivityThread.-wrap12 (ActivityThread.java)
android.app.ActivityThread$H.handleMessage (ActivityThread.java:1504)
android.os.Handler.dispatchMessage (Handler.java:102)
android.os.Looper.loop (Looper.java:154)
android.app.ActivityThread.main (ActivityThread.java:6247)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:872)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:762)
like image 507
Figen Güngör Avatar asked Jan 07 '17 21:01

Figen Güngör


People also ask

Why did my ads stop showing AdMob?

Ads won't show if you haven't integrated the Google Mobile Ads SDK correctly. Is your ad implementation code working properly? Test your implementation code to check that ads can show. You can also use ad inspector to test your app's ad serving.


1 Answers

It's not a bug in your app, but this is a bug in the "Alibaba B2B trade" app. From that app's apk:

$ aapt l -a Alibaba\ com\ B2B\ Trade\ App_v4.15.1.apk | grep -A 17 WeexPageActivity 
      E: activity (line=1284)
        A: android:theme(0x01010000)=@0x7f0a010d
        A: android:name(0x01010003)="com.alibaba.android.intl.weex.activity.WeexPageActivity" (Raw: "com.alibaba.android.intl.weex.activity.WeexPageActivity")
        A: android:exported(0x01010010)=(type 0x12)0x0
        A: android:screenOrientation(0x0101001e)=(type 0x10)0xffffffff
        A: android:configChanges(0x0101001f)=(type 0x11)0x4a0
        E: intent-filter (line=1290)
          E: action (line=1291)
            A: android:name(0x01010003)="android.intent.action.VIEW" (Raw: "android.intent.action.VIEW")
          E: category (line=1293)
            A: android:name(0x01010003)="android.intent.category.DEFAULT" (Raw: "android.intent.category.DEFAULT")
          E: category (line=1294)
            A: android:name(0x01010003)="com.alibaba.android.intl.category.WEEX" (Raw: "com.alibaba.android.intl.category.WEEX")
          E: data (line=1296)
            A: android:scheme(0x01010027)="http" (Raw: "http")
          E: data (line=1297)
            A: android:scheme(0x01010027)="https" (Raw: "https")
          E: data (line=1298)
            A: android:scheme(0x01010027)="file" (Raw: "file")

It looks like they registered http/https/file schemes (without specifying an host) to an unexported Activity. So every app that tries to start an intent with one of these scheme will crash.

My 2 cents: Android shouldn't crash the app, it should ignore unexported activities in this case.

More details here. They've been notified and should fix their app soon.

like image 50
Maxime Avatar answered Oct 07 '22 15:10

Maxime