37 votes

Services Google Play 5.0.77

A partir du 25 juin, deux applications sans lien avec la publicité ont commencé à avoir ce NPE.

java.lang.NullPointerException
   at zo.a(SourceFile:172)
   at aeh.a(SourceFile:120)
   at afw.run(SourceFile:14)
   at afy.run(SourceFile:30)
   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)

Je pense que cela est lié à la mise à jour de google play services. Quelqu'un peut-il m'aider à résoudre ce problème ?

Juste pour confirmer que le problème est lié au service de lecture, j'ai réussi à obtenir ceci de crashlytics à partir d'un fil de discussion appelé AdWorker :

thread
   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor(Thread.java:1231)
   at sun.misc.Unsafe.park(Unsafe.java:323)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:813)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:973)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1282)
   at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:207)
   at zo.a(SourceFile:147)
   at zo.a(SourceFile:170)
   at aeh.a(SourceFile:120)
   at afw.run(SourceFile:14)
   at afy.run(SourceFile:30)
   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)

ce n'est pas le bon endroit... mais il n'y a pas du tout d'endroit où les signaler

Le nombre d'exceptions a doublé depuis le 1er juillet, il est maintenant presque 3 fois supérieur à ce qu'il était le 27 juin.

Problème sur le projet Android google code

La discussion est maintenant dans ce fil sur admob google Groupe d'en-têtes

Dernière réponse de Google : "Nous sommes conscients de ces pannes et travaillons sur des corrections. Nous espérons publier ces correctifs d'ici une ou deux semaines." (7 juillet)

11voto

MBanks Points 126

J'ai trouvé cette solution par Mateusz Matela à l'adresse suivante https://groups.google.com/forum/#!topic/google-admob-ads-sdk/DkjtCx_Zvn8 .

J'ai essayé sur un Motorola DEFY+ qui a planté à cause de ce bug deux fois sur trois. Cela semble fonctionner même lorsque les avertissements associés à ce bug apparaissent dans le journal. Il est même indiqué "AdWorker thread thrown an exception". Mes publicités sont même réapparues lorsque j'ai continué à utiliser l'application.

final UncaughtExceptionHandler defaultHandler = Thread.getDefaultUncaughtExceptionHandler();
Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandler() {
        @Override
        public void uncaughtException(Thread thread, Throwable ex) {
            if (thread.getName().startsWith("AdWorker")) {
                Log.w("ADMOB", "AdWorker thread thrown an exception.", ex);
            } else if (defaultHandler != null) {
                defaultHandler.uncaughtException(thread, ex);
            } else {
                throw new RuntimeException("No default uncaught exception handler.", ex);
            }
        }
});

4voto

Cocorico Points 293

Aujourd'hui, Google affiche ce : http://Android-developers.blogspot.fr/2014/07/google-play-services-5.html

Et maintenant ça marche pour moi. Essayez à nouveau de mettre à jour le GooglePlayService dans votre mobile et mettez à jour votre ADT.

Edit :

Code pour vérifier la version du GPS :

// Check if GooglePlay Service is good;
            resultCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this.getActivity());
            if (resultCode != ConnectionResult.SUCCESS) {
                if (GooglePlayServicesUtil.isUserRecoverableError(resultCode)) {
                    GooglePlayServicesUtil.getErrorDialog(resultCode, this.getActivity(), 1).show();
                    rootView = inflater.inflate(R.layout.fragment_googleplayerror, container, false);
                    return rootView;
                } else {
                    Log.i(Tag, "This device is not supported.");
                    getActivity().finish();
                }
            }

2voto

ucdevs Points 104

J'ai eu exactement les mêmes erreurs sur différentes versions d'Android après avoir mis à jour admob vers google play services. Je pense que cela ne peut pas être résolu du côté de l'utilisateur.

2voto

nLL Points 2395

Il est lié à la mise à jour des services Play, voir l'exemple de crash log ci-dessous. Puisqu'il se bloque surCreate, il se peut que cela se produise lorsque l'utilisateur clique sur une publicité ou un type de publicité spécifique.

USER_COMMENT=
ANDROID_VERSION=4.1.2
APP_VERSION_NAME=8.9
BRAND=samsung
PHONE_MODEL=GT-I9100
CUSTOM_DATA=
STACK_TRACE=java.lang.RuntimeException: Unable to start activity ComponentInfo{xxxxx/com.google.android.gms.ads.AdActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
at android.app.ActivityThread.access$700(ActivityThread.java:140)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4921)
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:1027)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at acm.a(SourceFile:215)
at acz.onTransact(SourceFile:58)
at android.os.Binder.transact(Binder.java:326)
at com.google.android.gms.internal.ck$a$a.onCreate(Unknown Source)
at com.google.android.gms.ads.AdActivity.onCreate(Unknown Source)
at android.app.Activity.performCreate(Activity.java:5206)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)
... 11 more
java.lang.NullPointerException
at acm.a(SourceFile:215)
at acz.onTransact(SourceFile:58)
at android.os.Binder.transact(Binder.java:326)
at com.google.android.gms.internal.ck$a$a.onCreate(Unknown Source)
at com.google.android.gms.ads.AdActivity.onCreate(Unknown Source)
at android.app.Activity.performCreate(Activity.java:5206)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
at android.app.ActivityThread.access$700(ActivityThread.java:140)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4921)
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:1027)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
at dalvik.system.NativeStart.main(Native Method)

1voto

MRK Points 73

Je rencontre exactement le même problème avec une de mes applications depuis le 25 juin. Vous avez raison, c'est un problème Google, je pense avoir réussi à le résoudre en mettant à jour ma bibliothèque Android Support Library à la version 20 (j'utilisais Android-support-v4.jar) et mes services Google Play à la version 17.

Je ne suis pas sûr de savoir laquelle des deux révisions a résolu le problème, mais cela fait 24 heures et les rapports de collision ont cessé.

EDIT : Désolé, ce n'est toujours pas résolu. Mais j'ai reçu une réponse de l'équipe AdMod SDK qu'ils examinent la question. https://groups.google.com/forum/#!topic/google-admob-ads-sdk/DkjtCx_Zvn8

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X