2016-05-15 13 views
9

Jeśli okazało się, że użytkownicy, którzy używają starych urządzeń (2.3.6) wyślij mi ten uncatched wyjątek:java.lang.NoClassDefFoundError: AYC dla InterstitialAd

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) 

Kod błędu na linii to:

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

Czy można naprawić ten błąd bez pakowania try- (catch Exception e) -finally?

+0

Czy możesz pokazać swoją 'gradle'? –

+0

Czy na pewno masz zaznaczone pole 'GoogleAdMobAdsSdk-package'? jak tutaj w odpowiedzi [this] (http://stackoverflow.com/a/10632156/5067493). –

+0

@ShreeKrishna, używam Eclipse. Ten kod działa na wszystkich innych urządzeniach bardzo starych. Używam aktualnych bibliotek Google SDK. – Vyacheslav

Odpowiedz

9

To jest problem z pakietem SDK, a nie jakikolwiek błąd w kodzie.

Opublikowana wersja usług Play po prostu zawiera błąd reklam mobilnych, który wpływa na urządzenia z Gingerbread. Inżynierowie zdają sobie z tego sprawę, poprawka została stworzona i zostanie opublikowana w następnym wydaniu.

+1

Gdzie mogę znaleźć informacje na ten temat? – AppiDevo

+3

Mam tutaj raport o błędzie: https://groups.google.com/forum/#!category-topic/google-admob-ads-sdk/android/_kYrMS5nVxE. Przy okazji, to mi się przydarza i używam zwykłych banerów reklamowych (bez reklamy pełnoekranowej) –

3

To, co powiedziano mi w bug report tej kwestii:

As you are probably aware, the cause of the crash was SDK-related. A fix is in the pipeline, and scheduled to go live in the next SDK release.

a później:

The most recent release of Google Play services contains a bug affecting devices running Gingerbread. The SDK team has identified the problem and created a server-side workaround that should eliminate it. These crashes should tail off in the coming days, so you should expect to see fewer and fewer of them going forward.

Tak, to jest ustalonym przez serwer, a dostaniesz mniej raportów aż osiągnie 0%.

Życzenie, aby wszystkie usterki były obsługiwane w ten sposób :)

Powiązane problemy