Search code examples
javaandroidadmobinterstitial

java.lang.NoClassDefFoundError: ayc for InterstitialAd


If found that the users which use old devices (2.3.6) send me this uncatched exception:

java.lang.NoClassDefFoundError: ayc
at ajb.a(:com.google.android.gms.DynamiteModulesA:20)
at po.a(:com.google.android.gms.DynamiteModulesA:536)
at po.a(:com.google.android.gms.DynamiteModulesA:144)
at qn.a(:com.google.android.gms.DynamiteModulesA:150)
at pm.a(:com.google.android.gms.DynamiteModulesA:312)
at ul.onTransact(:com.google.android.gms.DynamiteModulesA:81)
at android.os.Binder.transact(Binder.java:279)
at com.google.android.gms.ads.internal.client.zzu$zza$zza.zzb(Unknown Source)
at com.google.android.gms.ads.internal.client.zzac.zza(Unknown Source)
at com.google.android.gms.ads.InterstitialAd.loadAd(Unknown Source)
at my.app.q.g(ABase.java:196)
at my.app.q.f(ABase.java:183)
at my.app.q.onCreate(ABase.java:88)
at my.app.AMain.onCreate(AMain.java:53)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1050)
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:130)
at android.app.ActivityThread.main(ActivityThread.java:3770)
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)

The code at error line is this:

mInterstitialAd = new InterstitialAd(this);
//... some defenitions
AdRequest adRequest = new AdRequest.Builder().build();
mInterstitialAd.loadAd(adRequest);/// <<< THE ERROR APPEARS

Is it possible to fix this bug without wrapping try-(catch Exception e)-finally?


Solution

  • This is an SDK issue, rather than something wrong in your code.

    The release of Play services that just rolled out contains a Mobile Ads bug that affects devices running Gingerbread. Engineering's aware of it, a fix has been created, and it will go out in the next release.