其他分享
首页 > 其他分享> > android – S9 / S9特定的WebView设备崩溃报告

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

作者:互联网

我们一直看到Google Play中的崩溃报告特定于三星S9(starqlesq)& S9(star2qlesq),都运行Android 8.0.0:

信号11(SIGSEGV),代码1(SEGV_MAPERR)
回溯:
  #00 pc 0000000000a51278 /vendor/lib64/libllvm-glnext.so(__ZN13ShaderObjects17loadProgramBinaryEP15CompilerContextPvmP23QGLC_LINKPROGRAM_RESULT 1396)
  #01 pc 000000000099b500 /vendor/lib64/libllvm-glnext.so(__Z1515CompilerContext17loadProgramBinaryEPvmP23QGLC_LINKPROGRAM_RESULT 160)
  #02 pc 0000000000a6e110 /vendor/lib64/libllvm-glnext.so(__Z21QGLCLoadProgramBinaryPvS_mP23QGLC_LINKPROGRAM_RESULT88)
  #03 pc 00000000001a501c /vendor/lib64/egl/libGLESv2_adreno.so(__ZN17EsxShaderCompiler21LoadProgramBinaryBlobEP10EsxContextP10EsxProgramPKvmP10EsxInfoLog 256)

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

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

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

因此,我的问题是:

>此崩溃报告是针对Google Play而不是App Center指示WebView相关崩溃的事实吗?
>什么样的事情会导致像这样的崩溃?到目前为止,它影响了3个唯一用户,因此它似乎并不特定于具有不寻常设备配置的单个用户.
>在缩小和解决问题方面哪些行动最有效?

解决方法:

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

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

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

标签:android,webview,crash,crash-reports
来源: https://codeday.me/bug/20191004/1853949.html