Ads not working on API 15 devices

371 views
Skip to first unread message

Ta-Dah Apps

unread,
Jun 12, 2019, 4:57:34 AM6/12/19
to google-adm...@googlegroups.com
I am aware that Google is moving away from support for API 15 and below. There is however a large cohort that use the early Kindle Fire tablets that are still on 4.0.3/4.0.4, with no possibility of upgrade. We have noticed, following recent library updates, that these devices are no longer successfully issuing ad requests. We have tested this on one such device and also on a API 15 emulator, this will not even show test ads with the latest libraries. If we backdate and use older libraries, ads are served. I have noticed an error which is pasted below.

Is this an intentional change to the libraries? is there any resolution/mitigation for this issue. Again we are aware that this is old kit but still a source of income and obviously a reasonably vibrant community.



06-07 10:40:34.725 3282-3282/com.ta_dah_apps.jigsawgenius I/Ads: This request is sent from a test device.
06-07 10:40:34.755 3282-3332/com.ta_dah_apps.jigsawgenius E/Ads: Derive quality signals error.
    java.util.concurrent.ExecutionException: java.lang.NoSuchFieldError: android.content.pm.PackageInfo.requestedPermissionsFlags
        at com.google.android.gms.internal.ads.zzbbs.get(Unknown Source)
        at com.google.android.gms.internal.ads.zzcva.zza(Unknown Source)
        at com.google.android.gms.internal.ads.zzcvc.call(Unknown Source)
        at com.google.android.gms.internal.ads.zzbbf.zzf(Unknown Source)
        at com.google.android.gms.internal.ads.zzbas.zza(Unknown Source)
        at com.google.android.gms.internal.ads.zzbav.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
        at java.lang.Thread.run(Thread.java:856)
     Caused by: java.lang.NoSuchFieldError: android.content.pm.PackageInfo.requestedPermissionsFlags
        at com.google.android.gms.internal.ads.zzawn.zzah(Unknown Source)
        at com.google.android.gms.internal.ads.zzawn.zzvf(Unknown Source)
        at com.google.android.gms.internal.ads.zzawo.call(Unknown Source)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
        at java.util.concurrent.FutureTask.run(FutureTask.java:137)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 
        at java.lang.Thread.run(Thread.java:856) 
06-07 10:40:34.895 3282-3282/com.ta_dah_apps.jigsawgenius I/Ads: Ad failed to load : 0

Mobile Ads SDK Forum Advisor Prod

unread,
Jun 17, 2019, 4:01:32 PM6/17/19
to roy.c...@ta-dah-apps.com, google-adm...@googlegroups.com
Hello there,

Apologies for the delay. Can you please point us to the document which says we are moving away from support for API 15 and below? As of now we support API 14+. If you could provide us more details about the issue that you were talking about, we will be happy to help.

Regards,
Deepika Uragayala
Mobile Ads SDK Team

ref:_00D1U1174p._5001UBmrRq:ref

Roy Carter

unread,
Jun 17, 2019, 5:28:21 PM6/17/19
to Mobile Ads SDK Forum Advisor Prod, google-adm...@googlegroups.com
Hello,
Firstly, regarding the removal of support for API 15 and below, I have see this in reference to Google Services here “https://android-developers.googleblog.com/2018/12/google-play-services-discontinuing.html”. Also, with our latest build, the Firebase Cloud Messaging libraries already have minimum support set to API 16.

We have an App, Jigsaw Genius, and following a recent upgrade, we noticed a drop off in ad requests. This version was still set for API 15 and up but had new libraries included (it does not use the latest Firebase Cloud Messaging libraries described above). On testing it became clear that the issue seems to be that ad requests fail to be made on API 15 devices. If we rebuild and just set back the library versions, ad requests work as expected. With updated libraries, we do not even see test ads on an Emulator.

The working and non working versions of libraries are posted below.


I also notice the following error on Studio logs.

06-07 10:40:34.725 3282-3282/com.ta_dah_apps.jigsawgenius I/Ads: This request is sent from a test device.
06-07 10:40:34.755 3282-3332/com.ta_dah_apps.jigsawgenius E/Ads: Derive quality signals error.
    java.util.concurrent.ExecutionException: java.lang.NoSuchFieldError: android.content.pm.PackageInfo.requestedPermissionsFlags
        at com.google.android.gms.internal.ads.zzbbs.get(Unknown Source)
        at com.google.android.gms.internal.ads.zzcva.zza(Unknown Source)
        at com.google.android.gms.internal.ads.zzcvc.call(Unknown Source)
        at com.google.android.gms.internal.ads.zzbbf.zzf(Unknown Source)
        at com.google.android.gms.internal.ads.zzbas.zza(Unknown Source)
        at com.google.android.gms.internal.ads.zzbav.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
        at java.lang.Thread.run(Thread.java:856)
     Caused by: java.lang.NoSuchFieldError: android.content.pm.PackageInfo.requestedPermissionsFlags
        at com.google.android.gms.internal.ads.zzawn.zzah(Unknown Source)
        at com.google.android.gms.internal.ads.zzawn.zzvf(Unknown Source)
        at com.google.android.gms.internal.ads.zzawo.call(Unknown Source)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
        at java.util.concurrent.FutureTask.run(FutureTask.java:137)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 
        at java.lang.Thread.run(Thread.java:856) 
06-07 10:40:34.895 3282-3282/com.ta_dah_apps.jigsawgenius I/Ads: Ad failed to load : 0





Old libraries:

// Firebase core
implementation 'com.google.firebase:firebase-core:16.0.6'

// cloud messaging (Amazon uses different solution)
googleImplementation 'com.google.firebase:firebase-messaging:17.3.4'
samsungImplementation 'com.google.firebase:firebase-messaging:17.3.4'

amazonCompileOnly files('libs/amazon-device-messaging-1.0.1.jar')

// android support library components
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'androidx.gridlayout:gridlayout:1.0.0'
implementation 'androidx.transition:transition:1.0.1'
implementation 'androidx.annotation:annotation:1.0.1'
implementation 'com.google.android.material:material:1.0.0'

implementation "android.arch.lifecycle:extensions:1.1.1"
annotationProcessor "android.arch.lifecycle:compiler:1.1.1"

// google Analytics service libraries
implementation 'com.google.android.gms:play-services-analytics:16.0.6'

// RX libraries
implementation 'io.reactivex.rxjava2:rxjava:2.2.2'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'

// facebook share library
implementation 'com.facebook.android:facebook-share:4.40.0'

// Ad networks

freeImplementation 'com.google.firebase:firebase-ads:17.1.2'
// Amazon Ad network
freeImplementation files('libs/amazon-ads-5.9.0.jar')

// inMobi network
freeImplementation 'com.inmobi.monetization:inmobi-ads:7.2.0'
freeImplementation 'com.google.ads.mediation:inmobi:7.2.1.0'
freeImplementation 'com.squareup.picasso:picasso:2.5.2'

// AppLovin
freeImplementation 'com.applovin:applovin-sdk:8.1.4'
freeImplementation 'com.google.ads.mediation:applovin:8.1.4.0'

// In-App billing libraries
amazonImplementation files('libs/in-app-purchasing-2.0.76.jar')
barnesNobleImplementation files('libs/FortumoInApp-android-9-4-2.jar')


New Libraries:


// Firebase core
implementation 'com.google.firebase:firebase-core:16.0.9'

// cloud messaging (Amazon uses different solution)
googleImplementation 'com.google.firebase:firebase-messaging:18.0.0'
samsungImplementation 'com.google.firebase:firebase-messaging:18.0.0'

amazonCompileOnly files('libs/amazon-device-messaging-1.0.1.jar')

// android support library components
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'androidx.gridlayout:gridlayout:1.0.0'
implementation 'androidx.transition:transition:1.0.1'
implementation 'androidx.annotation:annotation:1.0.2'
implementation 'com.google.android.material:material:1.0.0'

implementation "androidx.lifecycle:lifecycle-extensions:2.0.0"
annotationProcessor "androidx.lifecycle:lifecycle-compiler:2.0.0"

// google Analytics service libraries
implementation 'com.google.android.gms:play-services-analytics:16.0.8'

// RX libraries
implementation 'io.reactivex.rxjava2:rxjava:2.2.8'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'

// facebook share library
implementation 'com.facebook.android:facebook-share:5.0.1'

// Ad networks

freeImplementation 'com.google.firebase:firebase-ads:17.2.1'
// Amazon Ad network
freeImplementation files('libs/amazon-ads-5.9.0.jar')
//freeImplementation 'com.amazon.android:mobile-ads:5.9.0'

// inMobi network
freeImplementation 'com.inmobi.monetization:inmobi-ads:7.2.2'
freeImplementation 'com.google.ads.mediation:inmobi:7.2.2.1'
freeImplementation 'com.squareup.picasso:picasso:2.5.2'

// AppLovin
//freeImplementation 'com.applovin:applovin-sdk:8.1.4'
//freeImplementation 'com.google.ads.mediation:applovin:8.1.4.0'

// In-App billing libraries
amazonImplementation files('libs/in-app-purchasing-2.0.76.jar')
barnesNobleImplementation files('libs/FortumoInApp-android-9-4-2.jar')


--

---
You received this message because you are subscribed to a topic in the Google Groups "Google Mobile Ads SDK Developers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-admob-ads-sdk/tpNAamd9s4Q/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-admob-ads...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-admob-ads-sdk/MZm6w000000000000000000000000000000000000000000000PT9E9300K1BHncSQTtCLSaNZWrfZew%40sfdc.net.

Mobile Ads SDK Forum Advisor Prod

unread,
Jun 18, 2019, 2:51:29 PM6/18/19
to roy.c...@ta-dah-apps.com, google-adm...@googlegroups.com
Hello Roy,

Thank you for explaining us with all the details. Let me discuss this with the rest of the team and I will get back to you with more information.

Mobile Ads SDK Forum Advisor Prod

unread,
Jun 20, 2019, 4:28:25 PM6/20/19
to roy.c...@ta-dah-apps.com, google-adm...@googlegroups.com
Hello there,

Can you please update the SDK to the latest version  and provide us the complete stack trace for us to take a look and debug further?

Mobile Ads SDK Forum Advisor Prod

unread,
Jun 21, 2019, 4:07:15 PM6/21/19
to roy.c...@ta-dah-apps.com, google-adm...@googlegroups.com
Hello Roy,

Can you try to reproduce this with our sample apps and if you are able to repro, can you provide us the exact dependency list? We would then be able to debug this more.

Ta-Dah Apps

unread,
Jun 27, 2019, 5:41:57 AM6/27/19
to Google Mobile Ads SDK Developers
I think this is a lost cause. Increasingly, libraries from Google that are required for out app build are requiring a minimum API 16. If there is an error here, resolving it would seem moot as we cannot build for API 15 going forward.

Thanks for your efforts.

Roy

pdev

unread,
Jun 27, 2019, 1:33:01 PM6/27/19
to Google Mobile Ads SDK Developers
Hi,
I have exactly the same problem. Ads do not show up on the API 15 emulator. I've just checked your Java / BannerExample and here still the same.
it works:
dependencies {
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'com.google.android.gms:play-services-ads:17.2.1'
}
it doesn't work:
dependencies {
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'com.google.android.gms:play-services-ads:18.0.0'
}

Mobile Ads SDK Forum Advisor Prod

unread,
Jun 27, 2019, 3:37:39 PM6/27/19
to pdev...@gmail.com, google-adm...@googlegroups.com

Hello there,

Which version of the Android Studio are you currently using? And are you having the same issue when building on an actual device? If so, can you provide us with complete device logs for us to debug this further?



Regards,
Deepika Uragayala
Mobile Ads SDK Team



ref:_00D1U1174p._5001UBmrRq:ref

pdev

unread,
Jun 27, 2019, 6:50:11 PM6/27/19
to Google Mobile Ads SDK Developers
I am using the latest stable version of AS 3.4.1. I do not have any physical device with API 15. Here is log from emulator (Google API Intel x86)

06-27 21:46:10.492 1284-1473/system_process I/ActivityManager: START {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.google.android.gms.example.bannerexample/.MyActivity} from pid 1382
   
   
--------- beginning of /dev/log/main
06-27 21:46:10.512 1171-1486/? D/gralloc_ranchu: gralloc_alloc: Creating ashmem region of size 3637248
06-27 21:46:10.512 1284-1324/system_process W/NetworkManagementSocketTagger: setKernelCountSet(10045, 1) failed with errno -2
06-27 21:46:10.532 2149-2149/com.google.android.gms.example.bannerexample W/GooglePlayServicesUtil: Google Play services out of date.  Requires 12451000 but found 9256030
06-27 21:46:10.532 2149-2149/com.google.android.gms.example.bannerexample W/GooglePlayServicesUtil: Google Play services out of date.  Requires 12451000 but found 9256030
06-27 21:46:10.532 2149-2149/com.google.android.gms.example.bannerexample I/Ads: This request is sent from a test device.
06-27 21:46:10.542 2149-2593/com.google.android.gms.example.bannerexample W/GooglePlayServicesUtil: Google Play services out of date.  Requires 12451000 but found 9256030
06-27 21:46:10.542 1382-1382/com.android.launcher D/EGL_emulation: eglMakeCurrent: 0x8eb3400: ver 2 0
06-27 21:46:10.542 1382-1382/com.android.launcher D/OpenGLRenderer: Flushing caches (mode 1)
06-27 21:46:10.552 1382-1382/com.android.launcher D/EGL_emulation: eglMakeCurrent: 0x8eb3400: ver 2 0
06-27 21:46:10.552 2149-2588/com.google.android.gms.example.bannerexample W/GooglePlayServicesUtil: Google Play services out of date.  Requires 12451000 but found 9256030
06-27 21:46:10.562 2149-2149/com.google.android.gms.example.bannerexample D/EGL_emulation: eglMakeCurrent: 0x8f882e0: ver 2 0
06-27 21:46:10.562 2149-2149/com.google.android.gms.example.bannerexample E/EGL_emulation: tid 2149: eglSurfaceAttrib(1199): error 0x3009 (EGL_BAD_MATCH)
06-27 21:46:10.562 2149-2149/com.google.android.gms.example.bannerexample W/HardwareRenderer: Backbuffer cannot be preserved
06-27 21:46:10.572 1382-1382/com.android.launcher D/OpenGLRenderer: Flushing caches (mode 0)
06-27 21:46:10.572 1284-1968/system_process W/ActivityManager: Permission Denial: getTasks() from pid=2149, uid=10045 requires android.permission.GET_TASKS
06-27 21:46:10.582 2149-2267/com.google.android.gms.example.bannerexample E/Ads: Derive quality signals error.
    java
.util.concurrent.ExecutionException: java.lang.NoSuchFieldError: android.content.pm.PackageInfo.requestedPermissionsFlags
        at com
.google.android.gms.internal.ads.zzbbr.get(Unknown Source)
        at com
.google.android.gms.internal.ads.zzcvb.zza(Unknown Source)
        at com
.google.android.gms.internal.ads.zzcvd.call(Unknown Source)
        at com
.google.android.gms.internal.ads.zzbbe.zzf(Unknown Source)
        at com
.google.android.gms.internal.ads.zzbar.zza(Unknown Source)
        at com
.google.android.gms.internal.ads.zzbau.run(Unknown Source)

        at java
.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
        at java
.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
        at java
.lang.Thread.run(Thread.java:856)
     
Caused by: java.lang.NoSuchFieldError: android.content.pm.PackageInfo.
requestedPermissionsFlags
        at com
.google.android.gms.internal.ads.zzawm.zzah(Unknown Source)
        at com
.google.android.gms.internal.ads.zzawm.zzvf(Unknown Source)
        at com
.google.android.gms.internal.ads.zzawn.call(Unknown Source)

        at java
.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
        at java
.util.concurrent.FutureTask.run(FutureTask.java:137)
        at java
.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
        at java
.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
        at java
.lang.Thread.run(Thread.java:856)
06-27 21:46:10.592 2149-2151/com.google.android.gms.example.bannerexample D/dalvikvm: GC_CONCURRENT freed 390K, 4% free 13559K/14023K, paused 0ms+1ms
06-27 21:46:10.622 1284-1314/system_process I/ActivityManager: Displayed com.google.android.gms.example.bannerexample/.MyActivity: +104ms
06-27 21:46:10.622 2149-2149/com.google.android.gms.example.bannerexample I/Ads: Ad failed to load : 0
06-27 21:46:10.622 1284-1965/system_process W/InputManagerService: Starting input on non-focused client com.android.internal.view.IInputMethodClient$Stub$Proxy@a10fefa0 (uid=10021 pid=1382)
06-27 21:46:11.202 1284-1324/system_process W/NetworkManagementSocketTagger: setKernelCountSet(10021, 0) failed with errno -2


This warning also appears in version 17.2.1 but the ads work there
06-27 22:10:47.512 16906-17206/com.google.android.gms.example.bannerexample W/GooglePlayServicesUtil: Google Play services out of date.  Requires 12451000 but found 9256030


Mobile Ads SDK Forum Advisor Prod

unread,
Jun 28, 2019, 3:36:36 PM6/28/19
to pdev...@gmail.com, google-adm...@googlegroups.com
Hello there,

I will try to get hold of a physical device with API 15 and will get back to you asap.

pdev

unread,
Sep 10, 2019, 8:25:01 PM9/10/19
to Google Mobile Ads SDK Developers

What is the progress in this case?

In version 18.2.0 it is still the same.

You can read from the stack trace that there is no RequestPermissionsFlags field, that's because the field has been added in API level 16.

Source: https://developer.android.com/reference/android/content/pm/PackageInfo#requestedPermissionsFlags

Please fix it if you really support API 14+

Eugene Lapin

unread,
Sep 20, 2019, 4:39:02 AM9/20/19
to Google Mobile Ads SDK Developers
So what is soltuion of this problem? I still want to use API 15

среда, 11 сентября 2019 г., 3:25:01 UTC+3 пользователь pdev написал:

Ta-Dah Apps

unread,
Sep 20, 2019, 5:39:33 AM9/20/19
to Google Mobile Ads SDK Developers
Eugene,
For what it is worth, I do not think they will fix this. There are a number of standard support libraries from Google now that have a minimum API of 16 and I cannot see them backtracking on this. What we ended up doing is putting one final release of our app out that supported api 15 with old working libraries. All out future releases will support 16 and up.

Regards

Roy
Reply all
Reply to author
Forward
0 new messages