IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

YouTube API NullPointerException


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de thomas9501
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Décembre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 102
    Par défaut YouTube API NullPointerException
    Bonjour à tous,

    Je rencontre actuellement l'erreur suivante sur mon application en prod. sur le Play Store Google (déjà deux remontés d'utilisateurs) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    java.lang.NullPointerException
    at com.google.android.youtube.api.jar.ApiMobileControllerOverlay.onFilterTouchEventForSecurity(SourceFile:422)
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1808)
    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2187)
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1886)
    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2187)
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1886)
    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2187)
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1886)
    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2187)
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1886)
    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2187)
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1886)
    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2187)
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1886)
    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2187)
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1886)
    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2187)
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1886)
    at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2113)
    at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1466)
    at android.app.Activity.dispatchTouchEvent(Activity.java:2468)
    at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2061)
    at android.view.View.dispatchPointerEvent(View.java:7525)
    at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3370)
    at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3302)
    at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4394)
    at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4372)
    at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4476)
    at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:171)
    at android.os.MessageQueue.nativePollOnce(Native Method)
    at android.os.MessageQueue.next(MessageQueue.java:125)
    at android.os.Looper.loop(Looper.java:124)
    at android.app.ActivityThread.main(ActivityThread.java:4895)
    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:994)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:761)
    at dalvik.system.NativeStart.main(Native Method)
    Je ne sais absolument pas quoi faire pour l'éviter.
    J'aimerais avoir vos avis.

    Merci d'avance pour tout

  2. #2
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Salut,

    Ru as un pointeur null ici
    com.google.android.youtube.api.jar.ApiMobileControllerOverlay.onFilterTouchEventForSecurity
    Tu dois avoir surement une erreur lors de ton appel à Youtube.

    Tu peux regarder la doc officielle
    https://developers.google.com/youtub...d/player/setup

    Open the DeveloperKey.java file in the com.examples.youtubeapidemo package (sample/src/com/examples/youtubeapidemo/DeveloperKey.java) and replace null with a valid YouTube developer key in the following line:

    public static final String DEVELOPER_KEY = null;
    If you do not set the developer key, the samples will throw a java.lang.NullPointerException and close when you attempt to run them.
    Est ce que tu as mis ta clé développeur ?

  3. #3
    Membre confirmé Avatar de thomas9501
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Décembre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 102
    Par défaut
    Merci pour ta réponse.

    En effet, j'ai bien mis une clé développeur. Le truc c'est que mon code fonctionne (j'arrive très bien à lire des vidéos de YouTube ...) mais certaines personnes me remontent cette anomalie via le Google Play.

    Je pense qu'ils doivent laisser l'application tourner en tâche de fond avec d'autres et que le système finit à un moment ou un autre à libérer de la mémoire et quant ils reviennent sur l'application elle plante.

    Je ne sais absolument pas comment détecter ce genre de cas (pour éventuellement la relancer plutôt que d'essayer de charger l'activité ...) ... Si quelqu'un a une idée ?


    Sinon pour info, j'ai reçu aujourd'hui un ANR qui détaille un peu plus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    ----- pid 1428 at 2013-09-06 20:21:29 -----
    Cmd line: com.tchoupi.lite
     
    DALVIK THREADS:
    (mutexes: tll=0 tsl=0 tscl=0 ghl=0)
    "main" prio=5 tid=1 NATIVE
    | group="main" sCount=1 dsCount=0 obj=0x409fe460 self=0x12800
    | sysTid=1428 nice=0 sched=0/0 cgrp=[fopen-error:2] handle=1074922632
    | schedstat=( 13658615827 8211395336 37955 ) utm=1129 stm=236 core=0
    at android.os.BinderProxy.transact(Native Method)
    at com.google.android.youtube.api.service.a.ap.k(SourceFile:661)
    at com.google.android.youtube.api.jar.client.RemoteEmbeddedPlayer.u(SourceFile:484)
    at com.google.android.youtube.api.jar.client.a.t(SourceFile:465)
    at com.google.android.youtube.player.internal.h.onTransact(SourceFile:392)
    at android.os.Binder.transact(Binder.java:297)
    at com.google.android.youtube.player.internal.d$a$a.r((null):-1)
    at com.google.android.youtube.player.internal.s.h((null):-1)
    at com.google.android.youtube.player.YouTubePlayerView.e((null):-1)
    at com.google.android.youtube.player.YouTubeBaseActivity.onSaveInstanceState((null):-1)
    at android.app.Activity.performSaveInstanceState(Activity.java:1113)
    at android.app.Instrumentation.callActivityOnSaveInstanceState(Instrumentation.java:1185)
    at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:2793)
    at android.app.ActivityThread.handleStopActivity(ActivityThread.java:2851)
    at android.app.ActivityThread.access$900(ActivityThread.java:123)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1164)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:4424)
    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)
     
    "Thread-132" prio=5 tid=21 NATIVE
    | group="main" sCount=1 dsCount=0 obj=0x4104bc30 self=0x308c70
    | sysTid=1462 nice=0 sched=0/0 cgrp=[fopen-error:2] handle=3007920
    | schedstat=( 16843704 28960444 36 ) utm=1 stm=0 core=0
    at dalvik.system.NativeStart.run(Native Method)
     
    "pool-1-thread-5" prio=5 tid=20 WAIT
    | group="main" sCount=1 dsCount=0 obj=0x40fa9d80 self=0x2f9be8
    | sysTid=1463 nice=0 sched=0/0 cgrp=[fopen-error:2] handle=2313568
    | schedstat=( 73991297 59012651 125 ) utm=7 stm=0 core=0
    at java.lang.Object.wait(Native Method)
    - waiting on <0x4104aa90> (a java.lang.VMThread) held by tid=20 (pool-1-thread-5)
    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$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
    at java.lang.Thread.run(Thread.java:856)
     
    "pool-1-thread-4" prio=5 tid=19 WAIT
    | group="main" sCount=1 dsCount=0 obj=0x40fc09c0 self=0x229c50
    | sysTid=1461 nice=0 sched=0/0 cgrp=[fopen-error:2] handle=2288032
    | schedstat=( 101997102 142242032 117 ) utm=9 stm=1 core=0
    at java.lang.Object.wait(Native Method)
    - waiting on <0x40fdb308> (a java.lang.VMThread) held by tid=19 (pool-1-thread-4)
    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$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
    at java.lang.Thread.run(Thread.java:856)
     
    "pool-1-thread-3" prio=5 tid=18 WAIT
    | group="main" sCount=1 dsCount=0 obj=0x40fea658 self=0x22e310
    | sysTid=1460 nice=0 sched=0/0 cgrp=[fopen-error:2] handle=1718880
    | schedstat=( 52723523 32376453 75 ) utm=5 stm=0 core=0
    at java.lang.Object.wait(Native Method)
    - waiting on <0x40fb12b8> (a java.lang.VMThread) held by tid=18 (pool-1-thread-3)
    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$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
    at java.lang.Thread.run(Thread.java:856)
     
    "pool-1-thread-2" prio=5 tid=17 WAIT
    | group="main" sCount=1 dsCount=0 obj=0x40fed7d0 self=0x231350
    | sysTid=1459 nice=0 sched=0/0 cgrp=[fopen-error:2] handle=2301552
    | schedstat=( 68813896 71009936 91 ) utm=4 stm=2 core=0
    at java.lang.Object.wait(Native Method)
    - waiting on <0x40fb6720> (a java.lang.VMThread) held by tid=17 (pool-1-thread-2)
    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$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
    at java.lang.Thread.run(Thread.java:856)
     
    "pool-1-thread-1" prio=5 tid=16 WAIT
    | group="main" sCount=1 dsCount=0 obj=0x41045648 self=0x1e1708
    | sysTid=1458 nice=0 sched=0/0 cgrp=[fopen-error:2] handle=1233256
    | schedstat=( 86810092 103178228 122 ) utm=7 stm=1 core=0
    at java.lang.Object.wait(Native Method)
    - waiting on <0x40ff04c0> (a java.lang.VMThread) held by tid=16 (pool-1-thread-1)
    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$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
    at java.lang.Thread.run(Thread.java:856)
     
    "CookieSyncManager" prio=5 tid=14 NATIVE
    | group="main" sCount=1 dsCount=0 obj=0x40ff58c0 self=0x20d7a8
    | sysTid=1446 nice=10 sched=0/0 cgrp=[fopen-error:2] handle=2153464
    | schedstat=( 612459 19066776 6 ) utm=0 stm=0 core=0
    at android.os.MessageQueue.nativePollOnce(Native Method)
    at android.os.MessageQueue.next(MessageQueue.java:118)
    at android.os.Looper.loop(Looper.java:118)
    at android.webkit.WebSyncManager.run(WebSyncManager.java:90)
    at android.webkit.CookieSyncManager.run(CookieSyncManager.java:61)
    at java.lang.Thread.run(Thread.java:856)
     
    "AsyncTask #1" prio=5 tid=13 WAIT
    | group="main" sCount=1 dsCount=0 obj=0x40ff5710 self=0x22f750
    | sysTid=1445 nice=10 sched=0/0 cgrp=[fopen-error:2] handle=2013896
    | schedstat=( 5817874 63568295 18 ) utm=0 stm=0 core=0
    at java.lang.Object.wait(Native Method)
    - waiting on <0x40ff58a8> (a java.lang.VMThread) held by tid=13 (AsyncTask #1)
    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$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
    at java.lang.Thread.run(Thread.java:856)
     
    "WebViewCoreThread" prio=5 tid=11 NATIVE
    | group="main" sCount=1 dsCount=0 obj=0x40fef7b8 self=0x1e52e0
    | sysTid=1443 nice=0 sched=0/0 cgrp=[fopen-error:2] handle=1988400
    | schedstat=( 996707297 1285084802 942 ) utm=88 stm=11 core=0
    at android.os.MessageQueue.nativePollOnce(Native Method)
    at android.os.MessageQueue.next(MessageQueue.java:118)
    at android.os.Looper.loop(Looper.java:118)
    at android.webkit.WebViewCore$WebCoreThread.run(WebViewCore.java:728)
    at java.lang.Thread.run(Thread.java:856)
     
    "Binder Thread #2" prio=5 tid=10 NATIVE
    | group="main" sCount=1 dsCount=0 obj=0x40fa99c8 self=0x22dd70
    | sysTid=1440 nice=0 sched=0/0 cgrp=[fopen-error:2] handle=1465896
    | schedstat=( 43649404 18838315 148 ) utm=4 stm=0 core=0
    at dalvik.system.NativeStart.run(Native Method)
     
    "Binder Thread #1" prio=5 tid=9 NATIVE
    | group="main" sCount=1 dsCount=0 obj=0x40fa83b8 self=0x22c6a0
    | sysTid=1439 nice=0 sched=0/0 cgrp=[fopen-error:2] handle=2172864
    | schedstat=( 45498991 41071083 146 ) utm=2 stm=2 core=0
    at dalvik.system.NativeStart.run(Native Method)
     
    "FinalizerWatchdogDaemon" daemon prio=5 tid=8 TIMED_WAIT
    | group="main" sCount=1 dsCount=0 obj=0x40fa4388 self=0x1a0718
    | sysTid=1438 nice=0 sched=0/0 cgrp=[fopen-error:2] handle=1798040
    | schedstat=( 1576623 11579163 17 ) utm...
    Si vous avez une autre idée ?


    Merci d'avance

Discussions similaires

  1. Exception dans youtube API
    Par daniel1985 dans le forum Général Java
    Réponses: 0
    Dernier message: 08/10/2012, 10h51
  2. Youtube Api AS3 avec Flash CS5 ?
    Par DelavegaD dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 10/04/2012, 08h01
  3. Youtube API : fonctions non définies
    Par crazymonkey dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 05/07/2011, 00h17
  4. [AIR] Youtube Api et Application Air
    Par bolo dans le forum Flex
    Réponses: 2
    Dernier message: 12/05/2011, 17h17
  5. [Web Service] PHP YouTube API
    Par jaccaddi dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 04/04/2008, 19h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo