2014-12-12 11 views
5

Quando lancio la mia app da Android Studio al dispositivo o quando la scarica e l'installazione dal file APK diretto, a volte c'è uno schermo nero e dopo alcuni secondi, c'è un richiedere un messaggio di arresto anomalo dell'app.Casuale schermata nera quando si avvia l'app Android sul dispositivo

non v'è alcuna informazione in proposito nel logcat eccezione:

Ha scritto pila ripercorre a '/data/anr/traces.txt'

così ho aperto questo file, ma i don' t capisco cosa dovrei cercare al suo interno!

tesi Forse linee:

----- pid 28645 at 2014-12-12 14:44:02 ----- 
Cmd line: fr.myapp.www.myapp 

DALVIK THREADS: 
(mutexes: tll=0 tsl=0 tscl=0 ghl=0) 

"main" prio=5 tid=1 MONITOR 
    | group="main" sCount=1 dsCount=0 obj=0x4109b9a0 self=0x4108a450 
    | sysTid=28645 nice=-11 sched=0/0 cgrp=[fopen-error:2] handle=1074673116 
    | state=S schedstat=(0 0 0) utm=4 stm=2 core=1 
    at com.google.android.gms.analytics.ae.getLogger((null):~-1) 
    - waiting to lock <0x41686d38> held by tid=13 (client_id_fetcher) 
    at com.google.android.gms.analytics.ae.W((null):-1) 
    at com.google.android.gms.analytics.z$a.f((null):-1) 
    at com.google.android.gms.analytics.n.a((null):-1) 
    at com.google.android.gms.analytics.n.x((null):-1) 
    at com.google.android.gms.analytics.GoogleAnalytics.eZ((null):-1) 
    at com.google.android.gms.analytics.GoogleAnalytics.<init>((null):-1) 
    at com.google.android.gms.analytics.GoogleAnalytics.<init>((null):-1) 
    at com.google.android.gms.analytics.GoogleAnalytics.getInstance((null):-1) 
    at fr.myapp.www.myapp.MyAppApplication.getTracker(MyAppApplication.java:36) 
    at fr.myapp.www.myapp.DashboardActivity.onCreate(DashboardActivity.java:41) 
    at android.app.Activity.performCreate(Activity.java:5326) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2225) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2316) 
    at android.app.ActivityThread.access$700(ActivityThread.java:158) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1296) 
    at android.os.Handler.dispatchMessage(Handler.java:99) 
    at android.os.Looper.loop(Looper.java:176) 
    at android.app.ActivityThread.main(ActivityThread.java:5365) 
    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:1102) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869) 
    at dalvik.system.NativeStart.main(Native Method) 

Forse mi sbaglio, ma questi incidenti possono provenire da Google Analytics?

Qualsiasi aiuto con questi arresti anomali casuali?

Grazie;)

+0

discussione simile qui: http://stackoverflow.com/questions/15254788/how-to-debug -android-anr –

risposta

5

Lo stesso problema qui. Ho appena aggiornato Google Play Services e sto usando:

compile 'com.google.android.gms:play-services-base:6.5.87' 
compile 'com.google.android.gms:play-services-plus:6.5.87' 
compile 'com.google.android.gms:play-services-ads:6.5.87' 

Ho decompilato il codice e sembra che GoogleAnalytics.getInstance() è sincronizzato sulla GoogleAnalytics.class esempio e ci sono altri due thread asincroni che utilizza un altro getter static GoogleAnalytics eY() che sincronizzato anche. Non riesco a capire cosa sta succedendo (il codice è offuscato), ma immagino che sia un problema in biblioteca.

DALVIK THREADS (15): 
"main" prio=5 tid=1 Blocked 
    | group="main" sCount=1 dsCount=0 obj=0x735b82e0 self=0xb8e08530 
    | sysTid=7921 nice=0 cgrp=apps sched=0/0 handle=0xb6f0bec8 
    | state=S schedstat=(0 0 0) utm=3 stm=3 core=2 HZ=100 
    | stack=0xbe590000-0xbe592000 stackSize=8MB 
    | held mutexes= 
    at com.google.android.gms.analytics.ae.getLogger(unavailable:-1) 
    - waiting to lock <0x1c19179f> (a java.lang.Class<com.google.android.gms.analytics.ae>) held by thread 15 
    at com.google.android.gms.analytics.ae.V(unavailable:-1) 
    at com.google.android.gms.analytics.GoogleAnalytics.a(unavailable:-1) 
    at com.google.android.gms.analytics.GoogleAnalytics.eZ(unavailable:-1) 
    at com.google.android.gms.analytics.GoogleAnalytics.<init>(unavailable:-1) 
    at com.google.android.gms.analytics.GoogleAnalytics.<init>(unavailable:-1) 
    at com.google.android.gms.analytics.GoogleAnalytics.getInstance(unavailable:-1) 
    - locked <0x3fdbb0ec> (a java.lang.Class<com.google.android.gms.analytics.GoogleAnalytics>) 
    ... my application logic 
    at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1011) 
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4518) 
    at android.app.ActivityThread.access$1500(ActivityThread.java:144) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1339) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:135) 
    at android.app.ActivityThread.main(ActivityThread.java:5221) 
    at java.lang.reflect.Method.invoke!(Native method) 
    at java.lang.reflect.Method.invoke(Method.java:372) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 

... other threads 

"GAThread" prio=5 tid=14 Blocked 
    | group="main" sCount=1 dsCount=0 obj=0x12c8e680 self=0xb90b8f50 
    | sysTid=7942 nice=10 cgrp=apps/bg_non_interactive sched=0/0 handle=0xb90b9590 
    | state=S schedstat=(0 0 0) utm=0 stm=0 core=0 HZ=100 
    | stack=0xa3f4d000-0xa3f4f000 stackSize=1036KB 
    | held mutexes= 
    at com.google.android.gms.analytics.GoogleAnalytics.getInstance(unavailable:-1) 
    - waiting to lock <0x3fdbb0ec> (a java.lang.Class<com.google.android.gms.analytics.GoogleAnalytics>) held by thread 1 
    at com.google.android.gms.analytics.w.<init>(unavailable:-1) 
    at com.google.android.gms.analytics.x.init(unavailable:-1) 
    - locked <@addr=0x12c8e680> (a com.google.android.gms.analytics.x) 
    at com.google.android.gms.analytics.x.run(unavailable:-1) 

"client_id_fetcher" prio=5 tid=15 Blocked 
    | group="main" sCount=1 dsCount=0 obj=0x12c24ec0 self=0xb90b9b70 
    | sysTid=7943 nice=0 cgrp=apps sched=0/0 handle=0xb90ba1b0 
    | state=S schedstat=(0 0 0) utm=0 stm=0 core=0 HZ=100 
    | stack=0xa3e43000-0xa3e45000 stackSize=1036KB 
    | held mutexes= 
    at com.google.android.gms.analytics.GoogleAnalytics.eY(unavailable:-1) 
    - waiting to lock <0x3fdbb0ec> (a java.lang.Class<com.google.android.gms.analytics.GoogleAnalytics>) held by thread 1 
    at com.google.android.gms.analytics.ae.getLogger(unavailable:-1) 
    - locked <0x1c19179f> (a java.lang.Class<com.google.android.gms.analytics.ae>) 
    at com.google.android.gms.analytics.ae.V(unavailable:-1) 
    at com.google.android.gms.analytics.k.eq(unavailable:-1) 
    at com.google.android.gms.analytics.k$1.run(unavailable:-1) 
    - locked <@addr=0x12d3d110> (a java.lang.Object) 

EDIT: Il problema è segnalato anche qui: https://code.google.com/p/android/issues/detail?id=82157. La rimozione della configurazione globale dal file manifest ha risolto il problema.

+0

Ok grazie ho rimosso i meta-dati dal file manifest, il problema sembra essere risolto. Grazie. –

+1

Santa merda, buona risposta. Sono stato googling per questo. –

+0

Genio! Ho già passato mezza giornata a questo. La rimozione della configurazione globale ha risolto tutto. – ElDuderino

0

Ho risolto il problema ma ho disattivato disattivando lo di Google Analytics che stavo inviando.

Nel nostro progetto stiamo utilizzando un valore boolean:

boolean isDeveloperMode = true; // Don't send unless it's a public build 

Risolto il problema :)