2016-04-26 28 views
6

Ho raccolto una traccia della mia app Android basata su React-Native utilizzando systrace.py util da Android SDK in un file html. Quando apro questo file di traccia html in Chrome 50.0.2661.86 (64 bit) o ​​Firefox 45.0.2, vedo la schermata vuota e a few JavaScript errors nella Console per gli sviluppatori. OS Ubuntu 14.04 OS a 64 bit.L'HTML Systrace Android nativo di React è vuoto in Ubuntu 14.04

Tuttavia sulla mia macchina Windows una traccia html viene visualizzata correttamente senza errori in Chrome 49.0.2623.112.

Qualcuno può aiutarmi a risolvere questo problema?

+0

FWIW, su Win10 Chrome 50.0.2661.87 miei systraces venire in bianco, mentre Ubuntu Chrome 49.0.2623.110 funziona ancora. Immagino che Chrome abbia rotto. – fadden

risposta

5

In Chrome 49 c'era un avviso su Object.observe in fase di deprecazione.

https://developers.google.com/web/updates/2016/02/chrome-49-deprecations?hl=en#objectobserve-is-deprecated

In Chrome 50 finalmente rimosso.

https://www.chromestatus.com/features/6147094632988672

Purtroppo, lo systrace in Android platform-tools non follow-up. Nell'ultima versione (ho provato gli strumenti della piattaforma SDK di Android 24 rc2) continua a generare report html con Object.observe, quindi partendo da Chrome 50 non siamo in grado di aprire nessuno dei report.

Immagino che un modo sia usare una versione pre-50 di Chrome.

+0

Nella versione Opera 37.0 di Systrace funziona bene per me. – Sirelon

5

La semplice aggiunta di

<script src="https://rawgit.com/MaxArt2501/object-observe/master/dist/object-observe.min.js"></script> 

alla sezione di testa del documento HTML con la traccia lo fa funzionare in Chrome 50+

+0

Questo ha funzionato per me. Link al progetto completo: https://github.com/MaxArt2501/object-observe – fadden

+0

FWIW, non consiglierei di usare GitHub per qualcosa di diverso da un esperimento. Fortunatamente, il polyfill è disponibile anche qui: https://cdnjs.com/libraries/object-observe – MaxArt

13

Come soluzione temporanea è possibile utilizzare il seguente approccio:

  • Salvare il file .html dump sul disco
  • Aprire la scheda in cromo chrome://tracing
  • Carica file nella console tracciato
+3

Questo fallisce con questo messaggio: '' 'Errore: impossibile creare un importatore per i dati evento forniti. su Import.createImporter_ (chrome: //tracing/tracing.js: 1348: 3342) su Import.createImports (chrome: //tracing/tracing.js: 1343: 21) su Task.run (chrome: // tracing/tracing.js: 2062: 13) su runAnother (chrome: //tracing/tracing.js: 2074: 136) su runTask (chrome: //tracing/tracing.js: 2037: 57) su processIdleWork (chrome: //tracing/tracing.js: 2043: 116) at window.requestIdleCallback.timeout (chrome: //tracing/tracing.js: 2031: 81) '' ' –

0

Systrace in Android SDK non è aggiornato. È possibile utilizzare lo systrace dal progetto AOSP:

git clone https://android.googlesource.com/platform/external/chromium-trace