我已使用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了解更多信息。 在三星论坛上创建的问题尚未得到任何回应
根据上面链接的stackoverflow帖子,解决方案是为Webview禁用hardware acceleration
。我没有在react native应用程序中使用webview,但考虑到react native是用js编写的,该js可能正在运行Chrome实例,是否适用相同的逻辑?如果是这样,如何在react native中禁用硬件加速?