0

我的应用程序使用 Android Camera API(旧的)和 GLSurfaceView。

它适用于 90% 的设备(我实际上在 100 种不同的型号上对其进行了测试!!!)但它在 Nexus5X 和 Nexus6P 上崩溃。

我可以在 logcat 上看到以下错误:

W/Adreno-ES20: <core_glEGLImageTargetTexture2DOES:4550>: GL_INVALID_OPERATION

当我将 Nexus5X 崩溃报告发送到 google play 时,我看到的是:

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'google/bullhead/bullhead:6.0.1/MMB29P/2473553:user/release-keys'
Revision: 'rev_1.0'
ABI: 'arm'
pid: 6443, tid: 6530, name: GLThread 68  >>> com.my.app <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x3b8
    r0 00000010  r1 00000000  r2 00000000  r3 00000002
    r4 00001fbc  r5 80000000  r6 00000010  r7 00000000
    r8 00000000  r9 e11df2e0  sl 00000001  fp e11dd000
    ip de984270  sp e1844e3c  lr e9d4dbbd  pc e9dd6cf4  cpsr 80070030

backtrace:

    #00 pc 001b1cf4  /vendor/lib/egl/libGLESv2_adreno.so (EsxGfxMem::UpdateTimestampBucketId(EsxContext const*, unsigned int, EsxAccessType)+27)
    #01 pc 00128bb9  /vendor/lib/egl/libGLESv2_adreno.so (EsxContext::BucketRenderingCmds()+592)
    #02 pc 000dc2d9  /vendor/lib/egl/libGLESv2_adreno.so (EsxContext::BucketClearCmds(unsigned int*)+72)
    #03 pc 000dff89  /vendor/lib/egl/libGLESv2_adreno.so (EsxContext::ClearDirectly(EsxBltFill*, EsxColorClearData*, EsxBltDepthFill*, EsxBltDepthFill*)+3596)
    #04 pc 000e034d  /vendor/lib/egl/libGLESv2_adreno.so (EsxContext::ClearInternal(EsxBltFill*, EsxColorClearData*, EsxBltDepthFill*, EsxBltDepthFill*)+80)
    #05 pc 000e05ab  /vendor/lib/egl/libGLESv2_adreno.so (EsxContext::Clear(unsigned int, unsigned int, unsigned int, EsxClearValues*)+446)
    #06 pc 000c7f83  /vendor/lib/egl/libGLESv2_adreno.so (EsxContext::GlClear(unsigned int)+58)
    #07 pc 72104d39  /data/dalvik-cache/arm/system@framework@boot.oat (offset 0x1ec9000)

崩溃本身就发生了glFinish();(我需要将一半的​​项目放在这里以提供更多详细信息)。

谁能给我一个线索,问题出在哪里,或者我该如何解决?

4

0 回答 0