2013-01-31 14 views
6

Ho un'app per Android con un sacco di filtri fotografici. I filtri sono implementati con OpenGL ES 2.0, quindi quando voglio salvare l'immagine finale faccio una chiamata a glReadPixels. Funziona su tutti i dispositivi su cui ho provato, tuttavia sembra che non funzioni su Nexus 4. Gli utenti segnalano che possono applicare i filtri ma quando salvano l'immagine finale non riescono a trovarli sui dispositivi. Voglio sapere se c'è un modo per me di emulare nexus 4 e testare la mia app sull'emulatore? Ho provato l'emulatore e funziona bene, sarebbe bene sapere se qualcuno ha avuto problemi simili con Nexus 4.Come eseguire il debug dell'errore OPENGL ES 2.0 su Nexus 4 senza il dispositivo?

My glReadPixels chiama.

GLES20.glReadPixels(0, 0, saveWidth, saveHeight, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, mPixels); 
+0

Dove stai salvando il file? L'hai provato su altri dispositivi JB 4.2? C'è stato un cambiamento nel layout della scheda SD da 4.1 a 4.2. – Clyde

risposta

1

Aggiungere ulteriore registrazione e ottenere alcuni utenti di test per inviare l'output; questo può aiutarti a restringere dove si trova il problema specifico, sia con glReadPixels, sia con il salvataggio del file. In particolare, usa glGetError() e registra il suo valore e aggiungi i blocchi try/catch attorno al file I/O:

try { 
    .... file ops 
} catch (Exception e) { 
    e.printStackTrace(); 
} 
+0

Puoi anche usare uno strumento come ACRA (acra - Application Crash Report per Android - Google Project Hosting) per aiutare gli utenti a inviare queste informazioni a modo tuo. –

Problemi correlati