java.lang.NoClassDefFoundError: android/os/AsyncTask

7,554 views
Skip to first unread message

fum dev

unread,
Nov 26, 2014, 8:28:57 PM11/26/14
to google-adm...@googlegroups.com
An error occurs in my app since November 23.
My app does not use WebView directly. It is only AdMob.
Is it caused by update of Google Play Services?

Android 4.0.3 - 4.0.4
HTC One XL(evita)
HTC EVO 3D ISW12HT(shooterk)
HTC One S(ville)

java.lang.NoClassDefFoundError: android/os/AsyncTask
at android.webkit.WebView.setupPackageListener(WebView.java:1359)
at android.webkit.WebView.access$10900(WebView.java:365)
at android.webkit.WebView$PrivateHandler.handleMessage(WebView.java:10512)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:156)
at android.app.ActivityThread.main(ActivityThread.java:5045)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)

Sébastien Leclerc

unread,
Nov 27, 2014, 5:45:23 AM11/27/14
to google-adm...@googlegroups.com
I am getting lots of similar crashes on devices running Android 2.3.* since November 21 (I did not update my app for a month, so I'm pretty sure the problem is coming from Google, AdMob or maybe another ad network).

The error is java.lang.NoClassDefFoundError: android.os.AsyncTask
but it is actually triggerred in my own code.

I suspect the thread loading AdMob ads is crashing and somehow prevents my own thread to load new classes.

Dmitry

unread,
Nov 27, 2014, 6:29:05 AM11/27/14
to google-adm...@googlegroups.com

Eric,

I see the same problem in all of my games including the versions made nearly 1 year ago. Looks like you were wrong to close this one https://github.com/googleads/googleads-mobile-plugins/issues/50

The first report is dated back by November 19, but I see a fast growth in numbers yesterday, probably caused by full-scale rollout of Google Play Services 6.5.87. One of my phones is now affected, and it has that version.

Devices affected - only HTC, only with Android 4.0.3-4.0.4. It affects both banners and interstitials.

Device list from one of my games:

HTC EVO 3D X515m (shooteru)413.3%
HTC_Amaze_4G (ruby)723.3%
HTC One S (ville)26.7%
HTC One XL (evita)26.7%
HTC Sensation XL with Beats Audio X315e (runnymede)13.3%
HTC One V (primou)310.0%
HTC One S (villec2)310.0%
ADR6425LVW (vigor)413.3%
HTC One VX (totemc2)26.7%
HTC Desire SV (magnids)13.3%
HTC DROID Incredible 4G LTE (fireball)

P.S. I am close to killing the next person who says "Google Play Services Rocks!"

Xavier Guillemane

unread,
Nov 27, 2014, 11:29:34 AM11/27/14
to google-adm...@googlegroups.com
I'm seeing the exact same issue.
83% of the crash are coming from Android 2.3.x and 17% from Android 4.0.3 and 4.0.4
Not a single crash is occurring on other version.
This has to be related to the latest Google Play Services release


On Thursday, November 27, 2014 2:28:57 AM UTC+1, fum dev wrote:

Tomasz Okniński

unread,
Nov 28, 2014, 5:20:58 AM11/28/14
to google-adm...@googlegroups.com
Hi

All of a sudden I've got almost 1000 error reports from users on Android 2.3.3 - 2.3.7 in 3 days with java.lang.
NoClassDefFoundError: android/os/AsyncTask
The application basically stopped working on this version and I've a lot of angry users now...
Seems like only the API 10 is affected. Anything above works fine. I don't support earlier versions, so I can't report on that.
Google Play Services update looks like a probable cause...

Vassily Znakov

unread,
Nov 28, 2014, 11:21:34 AM11/28/14
to google-adm...@googlegroups.com
I have the same error with AsyncTask.
I tested the app in android-emulator 2.3.3 (in Eclipse) and have not found the bug.
It looks like the bug arose after certain updates Android 2.3.X
What is upgraded in Android 2.3.X for the last week?

joey

unread,
Nov 28, 2014, 12:48:03 PM11/28/14
to google-adm...@googlegroups.com
Background: My app also does not use WebView, but uses AdMob, which uses WebView. The crash reports are coming from older versions of my app and newer versions of my app. I'm seeing two separate crash reports, which are very likely linked. 

1) HTC specific crash: The first post in this thread shows how some HTC specific devices react to the bug and crash, which I'm also seeing the crash as java.lang.NoClassDefFoundError: android/os/AsyncTask on various HTC devices running mostly Android 4.0.3-4.0.4. 

2) All other device crash: More commonly, 14,000 reports this week and increasing by the minute, I'm also seeing java.lang.NoClassDefFoundError: android/os/AsyncTask, (Google Play incorrectly classifies the crash as java.lang.ClassNotFoundException), which out of the 14K crashes I have, 92% are on Android 2.3.3-2.3.7 from various hardware manufacturers.

Given both of these crashes are skyrocketing in occurrences over the same time frames (last ~6 days), I'd speculate that some update Google is pushing impacts Android 2.3.3-2.3.7 code that HTC carried over into their newer versions of Android OS releases.

Sample crash report for case #1 (HTC Android 4.0.3):
java.lang.NoClassDefFoundError: android/os/AsyncTask
       at android.webkit.WebView.setupPackageListener(WebView.java:1354)
       at android.webkit.WebView.access$10900(WebView.java:363)
       at android.webkit.WebView$PrivateHandler.handleMessage(WebView.java:10411)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:156)
       at android.app.ActivityThread.main(ActivityThread.java:4977)
       at java.lang.reflect.Method.invokeNative(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:511)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
       at dalvik.system.NativeStart.main(NativeStart.java)

Falcon Soon

unread,
Nov 28, 2014, 10:44:26 PM11/28/14
to google-adm...@googlegroups.com
Do we have any workaround to solve this issue?

Nicholas Davila

unread,
Nov 29, 2014, 11:27:01 AM11/29/14
to google-adm...@googlegroups.com
I have the same problem on all my InterstitialAds. Any ideas?

Android 4.0.3 - 4.0.4
EVO 3D (shooter)


java.lang.NoClassDefFoundError: android/os/AsyncTask
at android.webkit.WebView.setupPackageListener(WebView.java:1311)
at android.webkit.WebView.access$10600(WebView.java:354)
at android.webkit.WebView$PrivateHandler.handleMessage(WebView.java:10144)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:4945)

at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)

Android 4.0.3 - 4.0.4
Lenovo K800 (mfld_pr2)


java.lang.NoClassDefFoundError: android/os/AsyncTask
at android.webkit.WebView.setupPackageListener(WebView.java:1229)
at android.webkit.WebView.<init>(WebView.java:1100)
at android.webkit.WebView.<init>(WebView.java:1061)
at android.webkit.WebView.<init>(WebView.java:1050)
at android.webkit.WebView.<init>(WebView.java:1040)
at android.webkit.WebView.<init>(WebView.java:1031)
at com.google.android.gms.ads.internal.util.g.f(SourceFile:400)
at com.google.android.gms.ads.internal.util.g.a(SourceFile:385)
at com.google.android.gms.ads.internal.n.e.a(SourceFile:292)
at com.google.android.gms.ads.internal.b.<init>(SourceFile:299)
at com.google.android.gms.ads.internal.b.<init>(SourceFile:285)
at com.google.android.gms.ads.AdManagerCreatorImpl.a(SourceFile:36)
at com.google.android.gms.ads.internal.client.o.onTransact(SourceFile:66)
at android.os.Binder.transact(Binder.java:297)
at com.google.android.gms.internal.ar$a$a.a(Unknown Source)
at com.google.android.gms.internal.ah.b(Unknown Source)
at com.google.android.gms.internal.ah.a(Unknown Source)
at com.google.android.gms.internal.av.k(Unknown Source)
at com.google.android.gms.internal.av.a(Unknown Source)
at com.google.android.gms.ads.InterstitialAd.loadAd(Unknown Source)
at


Jose D

unread,
Nov 30, 2014, 5:55:31 AM11/30/14
to google-adm...@googlegroups.com
Hi,
I'm also getting hundreds of crash reports... The App hasn't been updated since months...
Please, Eric or other Admob team developers, explain us if there is some kind of fix for this problem.
Users are getting angry and we are receiving many bad reviews.
Thanks.

Sample:
java.lang.NoClassDefFoundError: android/os/AsyncTask
at android.webkit.WebView.setupPackageListener(WebView.java:1266)
at android.webkit.WebView.<init>(WebView.java:1137)
at android.webkit.WebView.<init>(WebView.java:1097)
at android.webkit.WebView.<init>(WebView.java:1086)
at android.webkit.WebView.<init>(WebView.java:1076)
at android.webkit.WebView.<init>(WebView.java:1067)

at com.google.android.gms.ads.internal.util.g.f(SourceFile:400)
at com.google.android.gms.ads.internal.util.g.a(SourceFile:385)
at com.google.android.gms.ads.internal.n.e.a(SourceFile:292)
at com.google.android.gms.ads.internal.b.<init>(SourceFile:299)
at com.google.android.gms.ads.internal.b.<init>(SourceFile:285)
at com.google.android.gms.ads.AdManagerCreatorImpl.a(SourceFile:36)
at com.google.android.gms.ads.internal.client.o.onTransact(SourceFile:66)
at android.os.Binder.transact(Binder.java:297)
at com.google.android.gms.internal.aa.a(Unknown Source)
at com.google.android.gms.internal.n.b(Unknown Source)
at com.google.android.gms.internal.n.a(Unknown Source)
at com.google.android.gms.internal.ag.a(Unknown Source)
at com.google.android.gms.ads.AdView.a(Unknown Source)
...



On Thursday, November 27, 2014 2:28:57 AM UTC+1, fum dev wrote:

Dmitry

unread,
Nov 30, 2014, 9:38:18 AM11/30/14
to google-adm...@googlegroups.com
Well, now you all know what "Google Play Services ROCKS!" means. I know it for a long time due to a similar stuff with online multiplayer :-(

Mikhail B. suggested a workaround in Google+ community AdMob Russia and CIS. I can confirm that it works for HTC with Android 4.0.x.

Workaround

Add the following code to onCreate(Bundle savedInstanceState)

    try
    {
      Class.forName("android.os.AsyncTask"); //it prevents AdMob from crashing on HTC with Android 4.0.x
    }
    catch(Throwable ignored)
    {}

Apparently guys missed the following text in AsyncTask description

  • The AsyncTask class must be loaded on the UI thread. This is done automatically as of JELLY_BEAN.
I cannot say if workaround helps with 2.3.x devices, because I do not get crash reports from those. May be because I call loading ad requests from UI thread.

Sébastien Leclerc

unread,
Nov 30, 2014, 10:19:19 AM11/30/14
to google-adm...@googlegroups.com
This workaround looks promising indeed. I'll try it out.


I cannot say if workaround helps with 2.3.x devices, because I do not get crash reports from those. May be because I call loading ad requests from UI thread.

Well, in my app, the crash ( reported here: https://code.google.com/p/android/issues/detail?id=81083 ) only impacts 2.3 devices.
I certainly do not load ads outside the UI thread, but maybe the AdMob mediation layer does...


Now, I have noticed the number of crashes has started decreasing, so I hope Google has started pushing a fixed version of the Goole Play Service library.

Manu López

unread,
Nov 30, 2014, 5:12:40 PM11/30/14
to google-adm...@googlegroups.com
Same problem in my app, also since November 23.

100% using API 10: 
Android 2.3.3 - 2.3.783100,0%

With different devices.

We are receiving many bad reviews because of this problem :(


Error.jpg

Manu López

unread,
Dec 1, 2014, 8:20:17 AM12/1/14
to google-adm...@googlegroups.com

Eric Leichtenschlag (Mobile Ads SDK Team)

unread,
Dec 1, 2014, 4:00:35 PM12/1/14
to google-adm...@googlegroups.com
Thanks for all the reports guys. I've opened a high priority bug internally for this.

There seem to be 2 separate flavors of the bug:
1) HTC devices running 4.0 - stack traces only show WebView
2) All devices running 2.3 - stack traces show Google play services

We're investigating both, but they look like related.

Nicholas and Jose, for the reports with Google Play services, which version of the SDK are you running in your app? I was able to confirm that the top part of the trace maps to the 6.5 released that has been rolling out, but the client piece I was unable to deobfuscate with any of the recent versions.

Thanks,
Eric

On Monday, December 1, 2014 5:20:17 AM UTC-8, Manu López wrote:

William Ferguson

unread,
Dec 1, 2014, 7:32:00 PM12/1/14
to google-adm...@googlegroups.com

Looks like a work around might be to add:

try {
      Class.forName("android.os.AsyncTask");
}
catch(Throwable ignore) {
      // ignored
}

into your Application#onCreate()

William

engapp...@gmail.com

unread,
Dec 1, 2014, 10:08:44 PM12/1/14
to google-adm...@googlegroups.com
Some stats and stacks, if it helps:

178 crashes, 20 users, 98% HTC, 99% Android 4.0.3:

java.lang.NoClassDefFoundError: android/os/AsyncTask
       at android.webkit.WebView.setupPackageListener(WebView.java:1311)
       at android.webkit.WebView.access$10600(WebView.java:354)
       at android.webkit.WebView$PrivateHandler.handleMessage(WebView.java:10126)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:154)
       at android.app.ActivityThread.main(ActivityThread.java:4944)
       at java.lang.reflect.Method.invokeNative(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:511)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
       at dalvik.system.NativeStart.main(NativeStart.java)

113 crashes, 8 users, 100% HTC, 100% Android 4.0.4

java.lang.NoClassDefFoundError: android/os/AsyncTask
       at android.webkit.WebView.setupPackageListener(WebView.java:1360)
       at android.webkit.WebView.access$11400(WebView.java:365)
       at android.webkit.WebView$PrivateHandler.handleMessage(WebView.java:10563)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:156)
       at android.app.ActivityThread.main(ActivityThread.java:5045)
       at java.lang.reflect.Method.invokeNative(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:511)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
       at dalvik.system.NativeStart.main(NativeStart.java)

10 crashes, 7 users, mixed devices, 100% > Android 4.0

java.lang.NoClassDefFoundError: android/os/AsyncTask
       at android.webkit.WebView.setupPackageListener(WebView.java:2030)
       at android.webkit.WebView.<init>(WebView.java:1736)
       at android.webkit.WebView.<init>(WebView.java:1693)
       at android.webkit.WebView.<init>(WebView.java:1682)
       at android.webkit.WebView.<init>(WebView.java:1341)
       at android.webkit.WebView.<init>(WebView.java:1332)
       at com.google.android.gms.ads.internal.util.g.f(SourceFile:400)
       at com.google.android.gms.ads.internal.util.g.a(SourceFile:385)
       at com.google.android.gms.ads.internal.n.e.a(SourceFile:292)
       at com.google.android.gms.ads.internal.b.<init>(SourceFile:299)
       at com.google.android.gms.ads.internal.b.<init>(SourceFile:285)
       at com.google.android.gms.ads.AdManagerCreatorImpl.a(SourceFile:36)
       at com.google.android.gms.ads.internal.client.o.onTransact(SourceFile:66)
       at android.os.Binder.transact(Binder.java:297)
       at com.google.android.gms.internal.au.b()
       at com.google.android.gms.internal.au.a()
       at com.google.android.gms.internal.bh.a()
       at com.google.android.gms.ads.AdView.loadAd()
       at com.xmaslist.BannerAd.display(BannerAd.java:38)
       at com.xmaslist.ListPeopleFragment.onActivityCreated(ListPeopleFragment.java:62)
       at android.support.v4.app.Fragment.performActivityCreated(Fragment.java:1794)
       at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:967)
       at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1126)
       at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)
       at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1489)
       at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:548)
       at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1136)
       at android.app.Activity.performStart(Activity.java:4496)
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1940)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1992)
       at android.app.ActivityThread.access$600(ActivityThread.java:127)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1158)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:137)
       at android.app.ActivityThread.main(ActivityThread.java:4511)
       at java.lang.reflect.Method.invokeNative(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:511)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:976)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:743)
       at dalvik.system.NativeStart.main(NativeStart.java)

Plenty more data where that came from if you need more...

William Ferguson

unread,
Dec 1, 2014, 10:13:37 PM12/1/14
to google-adm...@googlegroups.com
Are you mediating?
Does it help if you place Admob last in the mediation flow?

--

---
You received this message because you are subscribed to a topic in the Google Groups "Google AdMob Ads Developers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-admob-ads-sdk/_x12qmjWI7M/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-admob-ads...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Dean Vernon Alvero

unread,
Dec 1, 2014, 10:52:49 PM12/1/14
to google-adm...@googlegroups.com
This workaround fixed the crashes on my Gingerbread device. Thanks!

William Ferguson

unread,
Dec 1, 2014, 11:58:32 PM12/1/14
to google-adm...@googlegroups.com
Here's a link to the SO post detailing the issue http://stackoverflow.com/a/27239869/493682

--

William Ferguson

unread,
Dec 1, 2014, 11:58:47 PM12/1/14
to google-adm...@googlegroups.com
Thanks for validating Dean.

Jose D

unread,
Dec 2, 2014, 3:49:55 AM12/2/14
to google-adm...@googlegroups.com
Eric,

Thank you for your reply...

I have two different scenarios:

1) One App that didn't update since a few months and is using the "4.4.52-000" client version of Google play Services. Shows two separated crash reports, one for 2.3.x devices and other for 4.0.x devices

Android 2.3.3 - 2.3.7

java.lang.RuntimeException: Unable to instantiate application com.xxxxxx.xxxxxx.AppGlobal: java.lang.ClassNotFoundException: com.xxxxxx.xxxxxx.AppGlobal in loader dalvik.system.PathClassLoader[/mnt/asec/com.xxxxxx.xxxxxx-1/pkg.apk]
at android.app.LoadedApk.makeApplication(LoadedApk.java:497)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3493)
at android.app.ActivityThread.access$2200(ActivityThread.java:177)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1101)
at android.os.Handler.dispatchMessage(Handler.java:130)
at android.os.Looper.loop(Looper.java:384)
at android.app.ActivityThread.main(ActivityThread.java:3975)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:538)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:978)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:732)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.xxxxxx.xxxxxx.AppGlobal in loader dalvik.system.PathClassLoader[/mnt/asec/com.xxxxxx.xxxxxx-1/pkg.apk]
at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:271)
at java.lang.ClassLoader.loadClass(ClassLoader.java:582)
at java.lang.ClassLoader.loadClass(ClassLoader.java:542)
at android.app.Instrumentation.newApplication(Instrumentation.java:1044)
at android.app.LoadedApk.makeApplication(LoadedApk.java:492)
... 11 more

Android 4.0.3 - 4.0.4

java.lang.NoClassDefFoundError: android/os/AsyncTask
at android.webkit.WebView.setupPackageListener(WebView.java:1394)
at android.webkit.WebView.access$11500(WebView.java:371)
at android.webkit.WebView$PrivateHandler.handleMessage(WebView.java:10612)

at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:156)
at android.app.ActivityThread.main(ActivityThread.java:5099)

at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:991)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:758)
at dalvik.system.NativeStart.main(Native Method)


2) An App updated two weeks ago, using the last Google Play Services, version "6.1.71-000". Also the crash reports are separated in two blocks:

(this first report is the most serious since it affects many users, at least 10 times more than the 4.0.x bug)

Android 2.3.3 - 2.3.7

java.lang.NoClassDefFoundError: com.xxxxx.y
at com.xxxxx.w.a(SourceFile:24)
at com.xxxx.xxxxx.xxx.ao.onClick(SourceFile:160)
at android.view.View.performClick(View.java:2487)
at android.view.View$PerformClick.run(View.java:9099)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3683)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.xxxxx.y in loader dalvik.system.PathClassLoader[/mnt/asec/com.xxxx.xxxxx-1/pkg.apk]
at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
... 13 more

Android 4.0.3 - 4.0.4

java.lang.NoClassDefFoundError: android/os/AsyncTask
at android.webkit.WebView.setupPackageListener(WebView.java:1394)
at android.webkit.WebView.access$11500(WebView.java:371)
at android.webkit.WebView$PrivateHandler.handleMessage(WebView.java:10612)

at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:156)
at android.app.ActivityThread.main(ActivityThread.java:5099)

at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:991)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:758)
at dalvik.system.NativeStart.main(Native Method)

I hope all this info is useful to fix this issue.

Thanks!
Best regards

Kyle Tse

unread,
Dec 2, 2014, 5:32:22 AM12/2/14
to google-adm...@googlegroups.com
I have the same issue. And the admob fill rate drops rapidly from Nov 20 to date.
We received more than 10,000 crash reports from all of our apps, some of those apps already one year no update.
the solution below works like a charm. Thanks.
Please fix this bug asap.

William Ferguson於 2014年12月2日星期二UTC+8上午8時32分00秒寫道:
Message has been deleted

Nezneika Hami

unread,
Dec 2, 2014, 9:51:12 AM12/2/14
to google-adm...@googlegroups.com
For information, my app got more than 1000 crash reports this week.
All devices 2.3-2.3.7
Issue with AsyncTask and getActivity() (of Fragment)

at android.support.v4.app.Fragment.w(Fragment.java:1547)
at android.support.v4.app.g.a(FragmentManager.java:978)
at android.support.v4.app.g.a(FragmentManager.java:838)
at android.support.v4.app.g.d(FragmentManager.java:1145)
at android.support.v4.app.g.e(FragmentManager.java:1501)
at android.support.v4.app.g.b(FragmentManager.java:482)
at android.support.v4.app.h.b(FragmentPagerAdapter.java:141)
at android.support.v4.view.ViewPager.a(ViewPager.java:1073)
at android.support.v4.view.ViewPager.c(ViewPager.java:919)
at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1441)
at android.view.View.measure(View.java:8553)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:581)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:365)
at android.view.View.measure(View.java:8553)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3261)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
at android.view.View.measure(View.java:8553)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3261)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
at android.view.View.measure(View.java:8553)
at android.view.ViewRoot.performTraversals(ViewRoot.java:915)
at android.view.ViewRoot.handleMessage(ViewRoot.java:1991)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:150)
at android.app.ActivityThread.main(ActivityThread.java:4385)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: xxx.xxx.e.a$b in loader dalvik.system.PathClassLoader[/mnt/asec/xxx.xxx.xxx-1/pkg.apk]

at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
... 32 more

Marcel Rocco

unread,
Dec 2, 2014, 8:48:15 PM12/2/14
to google-adm...@googlegroups.com
Same problem here.
I have more than 2000 crashes in this week.
I implemented the solution above, and tested in a Gingerbread 2.3.6 and problem went away. The problem does not happen in the emulator.
I also tested the app without the facebook installed and appeared that the problem did not happen (I think it was a coincidence)
I got a 10% dropdown in pageviews because of that.
I will check if it stops in my new update.


java.lang.NoClassDefFoundError: android.os.AsyncTask
at com.facebook.Settings.getAsyncTaskExecutor(Settings.java:214)
at com.facebook.Settings.getExecutor(Settings.java:162)
at com.facebook.Settings.publishInstallAsync(Settings.java:264)
at com.facebook.Settings.publishInstallAsync(Settings.java:247)
at com.facebook.AppEventsLogger.activateApp(AppEventsLogger.java:313)
at 

sebas....@gmail.com

unread,
Dec 4, 2014, 10:07:46 AM12/4/14
to google-adm...@googlegroups.com
These silent and buggy updates of the Google Play Services SDK are a real nightmare !

Le jeudi 27 novembre 2014 02:28:57 UTC+1, fum dev a écrit :
An error occurs in my app since November 23.
My app does not use WebView directly. It is only AdMob.
Is it caused by update of Google Play Services?

Android 4.0.3 - 4.0.4
HTC One XL(evita)
HTC EVO 3D ISW12HT(shooterk)
HTC One S(ville)

java.lang.NoClassDefFoundError: android/os/AsyncTask
at android.webkit.WebView.setupPackageListener(WebView.java:1359)
at android.webkit.WebView.access$10900(WebView.java:365)
at android.webkit.WebView$PrivateHandler.handleMessage(WebView.java:10512)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:156)
at android.app.ActivityThread.main(ActivityThread.java:5045)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)

Sébastien Leclerc

unread,
Dec 4, 2014, 10:10:29 AM12/4/14
to google-adm...@googlegroups.com, sebas....@gmail.com
Yes, this is a real problem, it compromises our apps stability and the reactivity from Google in case of bug is not sufficient.

Sébastien Leclerc

unread,
Dec 4, 2014, 10:11:31 AM12/4/14
to google-adm...@googlegroups.com, sebas....@gmail.com
Yes indeed (test msg).


On Thursday, December 4, 2014 4:07:46 PM UTC+1, sebas....@gmail.com wrote:

Sébastien Leclerc

unread,
Dec 4, 2014, 10:12:20 AM12/4/14
to google-adm...@googlegroups.com
I confirm that this solved the problem on my 2.3.x devices.

Thanks William.

Vassily Znakov

unread,
Dec 4, 2014, 1:31:15 PM12/4/14
to google-adm...@googlegroups.com
Using workaround in Activity does not fix the problem on devices under android 2.3.X.
I added workaround in onCreate of Activity, but still getting errors when executing commands like:
new StatusDataLoad (). execute (mId);
How do you decide this problem?

java.lang.NoClassDefFoundError: com.statuses.MyActivity$StatusDataLoad
at com.statuses.MyActivity.onCreate(MyActivity.java:185)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1623)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1675)
at android.app.ActivityThread.access$1500(ActivityThread.java:121)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:943)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:138)
at android.app.ActivityThread.main(ActivityThread.java:3701)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636)
at dalvik.system.NativeStart.main(Native Method)

Manu López

unread,
Dec 4, 2014, 4:37:42 PM12/4/14
to google-adm...@googlegroups.com
Same for me, workaround didn't fix the problem on 2.3.X devices:
public void onCreate(Bundle savedInstanceState) {

try
{Class.forName("android.os.AsyncTask");} catch(Throwable ignore) {}

super
.onCreate(savedInstanceState);

...........

// AdMob Mediation
googleAds.showAds(this);

.........

new RssLoadingTask().execute(url);

}

java.lang.NoClassDefFoundError: com.myapp.MyActivity$RssLoadingTask at com.myapp.MyActivity.onCreate(SourceFile:102)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1050)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3691)

at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:670)
at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.ClassNotFoundException: com.myapp.MyActivity$RssLoadingTask in loader dalvik.system.PathClassLoader[/data/app/com.myapp-1.apk]

at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511) ... 14 more
Introducir código aquí...


William Ferguson

unread,
Dec 4, 2014, 4:42:21 PM12/4/14
to google-adm...@googlegroups.com
@Manu @Vassily (great name)

You need to add the code to your *Application* class, not your Activity. 

It needs to be called as soon as possible after your app starts otherwise it appears that AsyncTask will get loaded into a PlayServices classloader that makes it invisible to the rest of your app.

William

Manu López

unread,
Dec 4, 2014, 6:06:50 PM12/4/14
to google-adm...@googlegroups.com
Do you have a 2.3.6 device?

Could you please help me to test my App before (checking error) and after implement the workaround?

I don't have any 2.3.x device.... to test it :(

Thanks in advance

William Ferguson

unread,
Dec 4, 2014, 6:09:13 PM12/4/14
to google-adm...@googlegroups.com
Sorry, that's part of my problem too.
All my 2.3 devices have now either been updated or have long since died.

--
Message has been deleted

Vassily Znakov

unread,
Dec 5, 2014, 2:25:54 PM12/5/14
to google-adm...@googlegroups.com
Thanks William Ferguson
I update Google Play SDK up to rev.21 and added workaround into Application#onCreate()
After day I have no warning about error on devices under android 2.3.X

John Smith

unread,
Dec 5, 2014, 11:25:33 PM12/5/14
to google-adm...@googlegroups.com
I call it in handler, but still get this error.

On Sunday, November 30, 2014 10:38:18 PM UTC+8, Dmitry wrote:
Well, now you all know what "Google Play Services ROCKS!" means. I know it for a long time due to a similar stuff with online multiplayer :-(

Mikhail B. suggested a workaround in Google+ community AdMob Russia and CIS. I can confirm that it works for HTC with Android 4.0.x.

Workaround

Add the following code to onCreate(Bundle savedInstanceState)

    try
    {
      Class.forName("android.os.AsyncTask"); //it prevents AdMob from crashing on HTC with Android 4.0.x
    }
    catch(Throwable ignored)
    {}

Apparently guys missed the following text in AsyncTask description

  • The AsyncTask class must be loaded on the UI thread. This is done automatically as of JELLY_BEAN.
I cannot say if workaround helps with 2.3.x devices, because I do not get crash reports from those. May be because I call loading ad requests from UI thread.

William Ferguson

unread,
Dec 6, 2014, 12:03:21 AM12/6/14
to google-adm...@googlegroups.com
@John Smith, so have you implemented the work around where you load "android.os.AsyncTask" class in Application#onCreate?

BTW for those that don't have 2.3 devices but need to test on same, you can use https://appthwack.com


photo
William Ferguson
Founder and CEO, XandarMob

--

John Smith

unread,
Dec 6, 2014, 1:10:39 AM12/6/14
to google-adm...@googlegroups.com
No, I'll  paste AsyncTask.java into my project.
To unsubscribe from this group and all its topics, send an email to google-admob-ads-sdk+unsub...@googlegroups.com.

Miwa Hideo

unread,
Dec 6, 2014, 9:32:26 AM12/6/14
to google-adm...@googlegroups.com
I tried now the rev.21 Prepare the 2.3.5 device.

Does this problem has been fixed?
Error did not occur even without adding a workaround.



2014年11月27日木曜日 10時28分57秒 UTC+9 fum dev:
An error occurs in my app since November 23.
My app does not use WebView directly. It is only AdMob.
Is it caused by update of Google Play Services?

Android 4.0.3 - 4.0.4
HTC One XL(evita)
HTC EVO 3D ISW12HT(shooterk)
HTC One S(ville)

java.lang.NoClassDefFoundError: android/os/AsyncTask
at android.webkit.WebView.setupPackageListener(WebView.java:1359)
at android.webkit.WebView.access$10900(WebView.java:365)
at android.webkit.WebView$PrivateHandler.handleMessage(WebView.java:10512)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:156)
at android.app.ActivityThread.main(ActivityThread.java:5045)
at java.lang.reflect.Method.invokeNative(Native Method)

John Smith

unread,
Dec 8, 2014, 1:41:17 AM12/8/14
to google-adm...@googlegroups.com
You can test in  https://appthwack.com, It always recur.

fum dev

unread,
Dec 8, 2014, 3:16:14 AM12/8/14
to google-adm...@googlegroups.com
I tried that I disabled other ad networks in AdMob mediation, and the error disappeared afterwards.
Probably, it does not occur if using only AdMob.

2014年12月8日月曜日 15時41分17秒 UTC+9 John Smith:

Miwa Hideo

unread,
Dec 8, 2014, 3:26:34 AM12/8/14
to google-adm...@googlegroups.com
Ah, certainly I'm using only Admob.It was confirmed recurrence by using AdMob mediation.

But, it was no longer occurs in the workaround.
Thank you everyone.


2014年12月8日月曜日 17時16分14秒 UTC+9 fum dev:

Jose D

unread,
Dec 9, 2014, 3:02:25 PM12/9/14
to google-adm...@googlegroups.com
Hi again,
Eric or other Admob developers, please reply.
Is there anything new about this issue?
If there are no plans to fix the bug we will release an update of all our affected Games/Apps with the hack, but I would prefer not having to do it.

Thanks,
Regards
JD
Message has been deleted

Eric Leichtenschlag (Mobile Ads SDK Team)

unread,
Dec 10, 2014, 11:39:30 AM12/10/14
to google-adm...@googlegroups.com
Hey guys,

There is a newer version of the Google Play services apk that is starting to roll out this week (not sure what % of devices it hit yet) which has a fix for this issue. We expect to see these crashes dissipating more and more going into next week as the rollout completes.

Thanks,
Eric

William Ferguson

unread,
Dec 10, 2014, 3:49:56 PM12/10/14
to google-adm...@googlegroups.com
Awesome. Good stuff Eric.


photo
William Ferguson
Founder and CEO, XandarMob
On Thu, Dec 11, 2014 at 2:37 AM, Eric Leichtenschlag <eric...@gmail.com> wrote:
Hey guys,

There is a newer version of the Google Play services apk that is starting to roll out this week (not sure what % of devices it hit yet) which has a fix for this issue. We expect to see these crashes dissipating more and more going into next week as the rollout completes.

Thanks,
Eric

On Tuesday, December 9, 2014 12:02:25 PM UTC-8, Jose D wrote:

--

---
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 group and all its topics, send an email to google-admob-ads...@googlegroups.com.
Message has been deleted

Android Beginer

unread,
Dec 11, 2014, 1:45:47 AM12/11/14
to google-adm...@googlegroups.com
@Williams,

Hi Williams,

First of all thank you very much for sharing the workaround.
But I dont have Application class seperatelly written. So Where I can paste below code?

try {
      Class.forName("android.os.AsyncTask");
}
catch(Throwable ignore) {

      // ignored 
} 

I am using AsychTask in one of my Activity class to do some background task. Please refere my code below :
oncreate()
{
if(loadFromBackend)
 
{
 mytask 
= new MyTask();
 mytask
.execute();
 
}
}
private class MyTask extends AsyncTask<String, Integer, Void> {
 
private int j=0;
 
ProgressDialog dialog;
 
@Override
 
protected void onPreExecute() {
 
//Some coding stuff
 
}
 
@Override
 
protected Void doInBackground(String... params) {
 
//Some coding stuff
 
}
 
@Override
 
protected void onProgressUpdate(Integer... values) {
//Some coding stuff
 
 
}
 
@Override
 
protected void onPostExecute(Void result) {
//Some coding stuff
 
}
 
 
}
 
}
 } 

William Ferguson

unread,
Dec 11, 2014, 3:22:25 AM12/11/14
to google-adm...@googlegroups.com

Create a class called  MyApplication that extends from Application. Add in a reference to it in your AndroidManifest xml.

Add the code to that class.

William

--

Android Beginer

unread,
Dec 11, 2014, 8:13:27 AM12/11/14
to google-adm...@googlegroups.com
Thanks.
1. I understand upto creating application class.
2. Now adding reference in manifest file means writing android:name="myapplicatonClass" infront of <application> tag right?

3. There in oncreate() i have to paste code which you have given in workaround.

Can you please tell me when this method will gets called?
and
Please correct me if i misunderstood ur points.

Android Beginer

unread,
Dec 11, 2014, 8:14:29 AM12/11/14
to google-adm...@googlegroups.com

William Ferguson

unread,
Dec 11, 2014, 8:34:16 AM12/11/14
to google-adm...@googlegroups.com
That is correct.

Application#onCreate will get called when your application is created. That is when the VM is first started and your app is loaded.



photo
William Ferguson
Founder and CEO, XandarMob

Nezneika Hami

unread,
Dec 14, 2014, 10:15:03 AM12/14/14
to google-adm...@googlegroups.com
I follow the work around in Application#onCreate, but on devices 2.3.x it still FC.

William Ferguson

unread,
Dec 14, 2014, 3:11:47 PM12/14/14
to google-adm...@googlegroups.com
@Nezneika post your code - because it seems to be working for everyone else.



photo
William Ferguson
Founder and CEO, XandarMob
On Mon, Dec 15, 2014 at 1:15 AM, Nezneika Hami <hami.a...@gmail.com> wrote:
I follow the work around in Application#onCreate, but on devices 2.3.x it still FC.

--

Albert Gazetdinov

unread,
Dec 15, 2014, 1:56:36 PM12/15/14
to google-adm...@googlegroups.com
MyApp.java

public class MyApp extends Application {

@Override
public void onCreate() {
try {
Class.forName("android.os.AsyncTask");
} catch (Throwable ignore) {
}
}
}

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
    package=...

    <uses-sdk...
    <uses-permission...

    <application
        android:name=".MyApp"

        <activity
            android:name=...


William Ferguson

unread,
Dec 15, 2014, 8:12:08 PM12/15/14
to google-adm...@googlegroups.com
Hi Albert,

your code and config look fine. Just make sure that the package in your AndroidManifest matches the package for your Application class.
You could add some logging into #onCreate to make sure it is being called.

Can you replicate locally?

William

Albert Gazetdinov

unread,
Dec 16, 2014, 3:38:57 AM12/16/14
to google-adm...@googlegroups.com
I do not have problems in this thread.
but I added the code for future software upgrade, just in case.
full content of the method:

public void onCreate() {
try {
Class.forName("android.os.AsyncTask");
} catch (Throwable ignore) {
}
ErrorAgent.register(this, хх);
super.onCreate();
}

used for the registration of a custom interceptor error (including search and skip GPS errors) and works fine



Thuy Trinh

unread,
Dec 22, 2015, 8:49:57 AM12/22/15
to Google Mobile Ads SDK Developers
So which version of Play services has actually fixed this issue?

Eric Leichtenschlag (Mobile Ads SDK Team)

unread,
Jan 8, 2016, 4:39:35 PM1/8/16
to Google Mobile Ads SDK Developers
@Thuy it was fixed in version 6.5.
Reply all
Reply to author
Forward
0 new messages