我在Play商店中有一个生产APK,它使用的是第三方本机库。我在 jniLibs 目录中有3个体系结构,即 armeabi , armeabi-v7a 和 x86 。
我最近更新了构建并使用本机代码删除了库(因为我不再需要它)。但令我惊讶的是,我在更新应用程序后立即观察到64位设备上的随机崩溃。
以下是受影响的主要设备:
以下是Android 6.0上的崩溃跟踪:
Build fingerprint: 'htc/himauhl_htc_europe/htc_himauhl:6.0/MRA58K/671758.12:user/release-keys'
Revision: '0'
ABI: 'arm64'
pid: 23807, tid: 23971, name: Chrome_InProcGp >>> com.my.app <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x5594d38d40
x0 0000005594534d40 x1 0000005594535710 x2 0000000000000000 x3 0000000000002460
x4 00000055945371a0 x5 0000000000804000 x6 0000000000000000 x7 0000007f3ff19e58
x8 0000000000000000 x9 0000005594534db0 x10 0000008400804000 x11 0000000000804000
x12 0000005594d38d40 x13 0000000000000130 x14 0000000000000000 x15 00000000000009d0
x16 0000007f750f34a8 x17 0000007f74d386e4 x18 0000007f3ff19e58 x19 0000000000000a48
x20 0000005593d7eaa0 x21 0000000000000001 x22 0000005594534d40 x23 0000000000000001
x24 0000000000000000 x25 00000000000007b4 x26 00000000000009d0 x27 0000007f74f1ecb8
x28 0000005594535710 x29 0000007f3ff19ab0 x30 0000007f74d38de0
sp 0000007f3ff19aa0 pc 0000007f74d38734 pstate 0000000060000000
backtrace:
#00 pc 0000000000cef734 /system/vendor/lib64/libllvm-glnext.so (ShaderObjects::adjustSymbolPointers(char*, GLSL_SYMBOL*)+80)
#01 pc 0000000000cefddc /system/vendor/lib64/libllvm-glnext.so (ShaderObjects::loadProgramBinary(CompilerContext*, void*, unsigned long, QGLC_LINKPROGRAM_RESULT*)+812)
#02 pc 0000000000c71e3c /system/vendor/lib64/libllvm-glnext.so (CompilerContext::loadProgramBinary(void*, unsigned long, QGLC_LINKPROGRAM_RESULT*)+176)
#03 pc 0000000000d05868 /system/vendor/lib64/libllvm-glnext.so (QGLCLoadProgramBinary(void*, void*, unsigned long, QGLC_LINKPROGRAM_RESULT*)+68)
#04 pc 00000000001a4af0 /system/vendor/lib64/egl/libGLESv2_adreno.so (EsxShaderCompiler::LoadProgramBinaryBlob(EsxContext*, EsxProgram*, void const*, unsigned long, EsxInfoLog*)+144)
#05 pc 000000000018d104 /system/vendor/lib64/egl/libGLESv2_adreno.so (EsxProgram::LoadProgramBinary(EsxContext*, unsigned int, void const*, int)+164)
#06 pc 000000000012e608 /system/vendor/lib64/egl/libGLESv2_adreno.so (EsxContext::GlProgramBinary(unsigned int, unsigned int, void const*, int)+136)
#07 pc 0000000000111a44 /system/vendor/lib64/egl/libGLESv2_adreno.so (glProgramBinary+68)
#08 pc 00000000008372b4 /data/app/com.google.android.webview-1/lib/arm64/libwebviewchromium.so
这是Samsung S6设备(Android 5.1)上的崩溃跟踪
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'samsung/zerofltexx/zeroflte:5.1.1/LMY47X/G920FXXU3COI9:user/release-keys'
Revision: '11'
ABI: 'arm64'
pid: 19133, tid: 19323, name: AsyncTask #8 >>> com.my.app <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x1c
x0 0000000033441be0 x1 0000000000668837 x2 0000000000000068 x3 0000000000000006
x4 0000000032d694c0 x5 0000000002cf95e0 x6 0000000033441be0 x7 0000007f831c8800
x8 00000000711c5508 x9 0000000000000000 x10 0000000033441be0 x11 0000007f831c8610
x12 0000000000000002 x13 00000000033263c0 x14 0000000002cf95e0 x15 0000000033441008
x16 000000003fffffff x17 000000000000005d x18 0000007f2fcaf000 x19 000000000000005f
x20 0000000033441be0 x21 0000000000000000 x22 0000000000000003 x23 0000000033441ac0
x24 000000008a00af80 x25 0000000033441ba0 x26 0000000033441b20 x27 0000000033441b40
x28 0000000033441b60 x29 0000000000000001 x30 0000007f72beb9ac
sp 0000007f623ff450 pc 0000007f72beb9b0 pstate 0000000020000000
backtrace:
#00 pc 00000000002e89b0 /data/dalvik-cache/arm64/data@app@com.my.app-2@base.apk@classes.dex
#01 pc 00000000002e89a8 /data/dalvik-cache/arm64/data@app@com.my.app-2@base.apk@classes.dex
可能是什么问题以及如何纠正这个问题?