首页 文章

S9 / S9特定的WebView设备崩溃报告

提问于
浏览
14

我们一直看到谷歌播放的崩溃报告特定于三星S9(starqlesq)和S9(star2qlesq),两者都运行Android 8.0.0:

signal 11 (SIGSEGV), code 1 (SEGV_MAPERR) backtrace: #00 pc 0000000000a51278 /vendor/lib64/libllvm-glnext.so (_ZN13ShaderObjects17loadProgramBinaryEP15CompilerContextPvmP23QGLC_LINKPROGRAM_RESULT+1396) #01 pc 000000000099b500 /vendor/lib64/libllvm-glnext.so (_ZN15CompilerContext17loadProgramBinaryEPvmP23QGLC_LINKPROGRAM_RESULT+160) #02 pc 0000000000a6e110 /vendor/lib64/libllvm-glnext.so (_Z21QGLCLoadProgramBinaryPvS_mP23QGLC_LINKPROGRAM_RESULT+88) #03 pc 00000000001a501c /vendor/lib64/egl/libGLESv2_adreno.so (_ZN17EsxShaderCompiler21LoadProgramBinaryBlobEP10EsxContextP10EsxProgramPKvmP10EsxInfoLog+256)

查看上面的堆栈跟踪,崩溃似乎是在OpenGL系统代码中 .

这很奇怪,因为我们将集成的崩溃报告解决方案(Microsoft App Center SDK)和其他崩溃报告发送到App Center .

我们的应用程序大量使用 WebView ,我现在理解它使用Chrome,在一个单独的进程中运行 .

因此,我的问题是:

  • 此崩溃报告是针对Google Play而不是App Center指示相关崩溃的事实吗?

  • 什么样的事情会导致像这样的崩溃?到目前为止,它影响了3个唯一用户,因此它似乎并不特定于具有不寻常设备配置的单个用户 .

  • 在缩小和解决问题方面哪些行动最有效?

1 回答

  • 4

    现在已经确认禁用硬件加速是在这些有问题的设备上解决问题:

    val product = Build.PRODUCT
    val s9ProductsThatNeedWorkaround = arrayOf("starqltesq", "star2qltesq", "starqlteue", "star2qlteue")
    if (s9ProductsThatNeedWorkaround.contains(product)) {
        WebView.setLayerType(LAYER_TYPE_SOFTWARE)
    }
    

    然而,在渲染网页内容时可能存在一些外观异常 .

相关问题