如何在没有设备的情况下在Nexus 4上调试OPENGL ES 2.0错误?

Ton*_*ony 6 android opengl-es-2.0 nexus-4

我有一个Android应用程序与一堆照片过滤器.过滤器是使用OpenGL ES 2.0实现的,所以当我想保存最终图像时,我会调用glReadPixels.它适用于我测试过的每台设备,但它似乎无法在Nexus 4上运行.用户报告说他们可以应用过滤器,但是当他们保存最终图像时,他们无法在设备上找到它.我想知道是否有任何方法可以模拟nexus 4并在模拟器上测试我的应用程序?我已经在模拟器上进行了测试,它运行良好也很好,知道是否有人与Nexus 4有类似的问题.

我的glReadPixels电话.

GLES20.glReadPixels(0, 0, saveWidth, saveHeight, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, mPixels);
Run Code Online (Sandbox Code Playgroud)

Sof*_*LLC 1

添加额外的日志记录并让一些测试用户向您发送输出;这可以帮助您缩小具体问题的范围,无论是 glReadPixels 还是文件保存。特别是,使用 glGetError() 并记录其值,并在文件 I/O 周围添加 try/catch 块:

try {
    .... file ops
} catch (Exception e) {
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)