应用程式当机反应于Samsung Galaxy S9 +(star2qltesq),Android 8.0

时间:2018-07-16 06:59:03

标签: android reactjs firebase react-native react-native-android

我已使用react native并将其发布到Play商店的应用程序及其运行正常,但在Play控制台中以下登录信息使我崩溃了,我不确定该怎么做。崩溃发生在运行Android 8.0的三星Galaxy S9 +(star2qltesq)上

backtrace:
  #00  pc 000000000001a6f0  /system/lib/libc.so (strlen+11)
  #01  pc 0000000000761c39  /vendor/lib/libllvm-glnext.so (_ZN14MetaDataExport19duplicateSymbolDataEP20QGLC_GLSL_SYMBOLDATAPKS0_+208)
  #02  pc 0000000000766d87  /vendor/lib/libllvm-glnext.so (_ZN13ShaderObjects17loadProgramBinaryEP15CompilerContextPvjP23QGLC_LINKPROGRAM_RESULT+1486)
  #03  pc 00000000006e5495  /vendor/lib/libllvm-glnext.so (_ZN15CompilerContext17loadProgramBinaryEPvjP23QGLC_LINKPROGRAM_RESULT+108)
  #04  pc 00000000007787c1  /vendor/lib/libllvm-glnext.so (_Z21QGLCLoadProgramBinaryPvS_jP23QGLC_LINKPROGRAM_RESULT+52)
  #05  pc 0000000000152023  /vendor/lib/egl/libGLESv2_adreno.so (_ZN17EsxShaderCompiler21LoadProgramBinaryBlobEP10EsxContextP10EsxProgramPKvjP10EsxInfoLog+170)
  #06  pc 000000000013490d  /vendor/lib/egl/libGLESv2_adreno.so (_ZN10EsxProgram17LoadProgramBinaryEP10EsxContextjPKvi+158)
  #07  pc 00000000000ac389  /vendor/lib/egl/libGLESv2_adreno.so (_ZN10EsxContext15GlProgramBinaryEjjPKvi+134)
  #08  pc 0000000000097553  /vendor/lib/egl/libGLESv2_adreno.so (glProgramBinary+42)
  #09  pc 00000000017491ff  /data/app/com.android.chrome-HHWtCaxowbzF03n80oXarQ==/base.apk

这是来自app / build.gradle文件的摘录

def enableSeparateBuildPerCPUArchitecture = true
def enableProguardInReleaseBuilds = false

android {
    compileSdkVersion 27
    buildToolsVersion '27.0.3'

    defaultConfig {
        applicationId "xx.xxxx.xxx"
        multiDexEnabled true
        minSdkVersion 16
        targetSdkVersion 27
        versionCode x
        versionName "x.x.x"

        packagingOptions {
            exclude "lib/arm64-v8a/libimagepipeline.so"
        }
    }

    splits {
        abi {
            reset()
            enable enableSeparateBuildPerCPUArchitecture
            universalApk true
            include "armeabi-v7a"
        }
    }

    applicationVariants.all { variant ->
        variant.outputs.each { output ->
            def versionCodes = ['armeabi-v7a': 1]
            def abi = output.getFilter(OutputFile.ABI)
            if (abi != null) {
                output.versionCodeOverride = versionCodes.get(abi) * 300000 + variant.versionCode
            }
        }
    }
}

更新

在进一步研究中,此特定设备运行特定版本似乎是一个问题。您可以查看S9/S9+ specific WebView device crash report了解更多信息。 在三星论坛上创建的问题尚未得到任何回应

Issue 1

Issue 2

根据上面链接的stackoverflow帖子,解决方案是为Webview禁用hardware acceleration。我没有在react native应用程序中使用webview,但考虑到react native是用js编写的,该js可能正在运行Chrome实例,是否适用相同的逻辑?如果是这样,如何在react native中禁用硬件加速?

0 个答案:

没有答案