使用targetsdk 29的Android 6上的本机崩溃
自从我将应用程序的targetsdk设置为29(即安卓10)以来,我在安卓6设备上看到了很多崩溃(占总数的97%)。这种崩溃并不是在Android Emulator中出现的,主要是在Oppo和K5 Note设备中观察到的 崩溃日志如下所示:使用targetsdk 29的Android 6上的本机崩溃,android,crash,Android,Crash,自从我将应用程序的targetsdk设置为29(即安卓10)以来,我在安卓6设备上看到了很多崩溃(占总数的97%)。这种崩溃并不是在Android Emulator中出现的,主要是在Oppo和K5 Note设备中观察到的 崩溃日志如下所示: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** pid: 0, tid: 0 >>> App name <<< > backt
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 0 >>> App name <<<
> backtrace: #00 pc 00000000002a9de8 /system/lib64/libart.so (bool
> art::interpreter::DoCall<false, true>(art::ArtMethod*, art::Thread*,
> art::ShadowFrame&, art::Instruction const*, unsigned short,
> art::JValue*)+376) #00 pc 00000000002afa68 /system/lib64/libart.so
> (bool art::interpreter::DoInvoke<(art::InvokeType)4, false,
> true>(art::Thread*, art::ShadowFrame&, art::Instruction const*,
> unsigned short, art::JValue*)+1168) #00 pc 00000000000efe10
> /system/lib64/libart.so (art::JValue
> art::interpreter::ExecuteGotoImpl<true, false>(art::Thread*,
> art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue)+20064)
> #00 pc 0000000000286904 /system/lib64/libart.so (artInterpreterToInterpreterBridge+480) #00 pc 00000000002a9ff8
> /system/lib64/libart.so (bool art::interpreter::DoCall<false,
> true>(art::ArtMethod*, art::Thread*, art::ShadowFrame&,
> art::Instruction const*, unsigned short, art::JValue*)+904) #00 pc
> 00000000002b0eb4 /system/lib64/libart.so (bool
> art::interpreter::DoInvoke<(art::InvokeType)2, false,
> true>(art::Thread*, art::ShadowFrame&, art::Instruction const*,
> unsigned short, art::JValue*)+972) #00 pc 00000000000f0238
> /system/lib64/libart.so (art::JValue
> art::interpreter::ExecuteGotoImpl<true, false>(art::Thread*,
> art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue)+21128)
> #00 pc 0000000000286904 /system/lib64/libart.so (artInterpreterToInterpreterBridge+480) #00 pc 00000000002a9ff8
> /system/lib64/libart.so (bool art::interpreter::DoCall<false,
> true>(art::ArtMethod*, art::Thread*, art::ShadowFrame&,
> art::Instruction const*, unsigned short, art::JValue*)+904) #00 pc
> 00000000002b0eb4 /system/lib64/libart.so (bool
> art::interpreter::DoInvoke<(art::InvokeType)2, false,
> true>(art::Thread*, art::ShadowFrame&, art::Instruction const*,
> unsigned short, art::JValue*)+972) #00 pc 00000000000f0238
> /system/lib64/libart.so (art::JValue
> art::interpreter::ExecuteGotoImpl<true, false>(art::Thread*,
> art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue)+21128)
> #00 pc 0000000000286904 /system/lib64/libart.so (artInterpreterToInterpreterBridge+480) #00 pc 00000000002a964c
> /system/lib64/libart.so (bool art::interpreter::DoCall<false,
> false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&,
> art::Instruction const*, unsigned short, art::JValue*)+480) #00 pc
> 00000000002af3c0 /system/lib64/libart.so (bool
> art::interpreter::DoInvoke<(art::InvokeType)4, false,
> false>(art::Thread*, art::ShadowFrame&, art::Instruction const*,
> unsigned short, art::JValue*)+772) #00 pc 00000000000dd95c
> /system/lib64/libart.so (art::JValue
> art::interpreter::ExecuteGotoImpl<false, false>(art::Thread*,
> art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue)+20300)
> #00 pc 0000000000286800 /system/lib64/libart.so (artInterpreterToInterpreterBridge+220) #00 pc 00000000002a964c
> /system/lib64/libart.so (bool art::interpreter::DoCall<false,
> false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&,
> art::Instruction const*, unsigned short, art::JValue*)+480) #00 pc
> 00000000002af3c0 /system/lib64/libart.so (bool
> art::interpreter::DoInvoke<(art::InvokeType)4, false,
> false>(art::Thread*, art::ShadowFrame&, art::Instruction const*,
> unsigned short, art::JValue*)+772) #00 pc 00000000000dd95c
> /system/lib64/libart.so (art::JValue
> art::interpreter::ExecuteGotoImpl<false, false>(art::Thread*,
> art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue)+20300)
> #00 pc 0000000000286800 /system/lib64/libart.so (artInterpreterToInterpreterBridge+220) #00 pc 00000000002a964c
> /system/lib64/libart.so (bool art::interpreter::DoCall<false,
> false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&,
> art::Instruction const*, unsigned short, art::JValue*)+480) #00 pc
> 00000000000de0c8 /system/lib64/libart.so (art::JValue
> art::interpreter::ExecuteGotoImpl<false, false>(art::Thread*,
> art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue)+22200)
> #00 pc 0000000000286800 /system/lib64/libart.so (artInterpreterToInterpreterBridge+220) #00 pc 00000000002a964c
> /system/lib64/libart.so (bool art::interpreter::DoCall<false,
> false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&,
> art::Instruction const*, unsigned short, art::JValue*)+480) #00 pc
> 00000000002af3c0 /system/lib64/libart.so (bool
> art::interpreter::DoInvoke<(art::InvokeType)4, false,
> false>(art::Thread*, art::ShadowFrame&, art::Instruction const*,
> unsigned short, art::JValue*)+772) #00 pc 00000000000dd95c
> /system/lib64/libart.so (art::JValue
> art::interpreter::ExecuteGotoImpl<false, false>(art::Thread*,
> art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue)+20300)
> #00 pc 0000000000286800 /system/lib64/libart.so (artInterpreterToInterpreterBridge+220) #00 pc 00000000002a964c
> /system/lib64/libart.so (bool art::interpreter::DoCall<false,
> false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&,
> art::Instruction const*, unsigned short, art::JValue*)+480) #00 pc
> 00000000002ac5f0 /system/lib64/libart.so (bool
> art::interpreter::DoInvoke<(art::InvokeType)2, false,
> false>(art::Thread*, art::ShadowFrame&, art::Instruction const*,
> unsigned short, art::JValue*)+268) #00 pc 00000000000de37c
> /system/lib64/libart.so (art::JValue
> art::interpreter::ExecuteGotoImpl<false, false>(art::Thread*,
> art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue)+22892)
> #00 pc 0000000000286800 /system/lib64/libart.so (artInterpreterToInterpreterBridge+220) #00 pc 00000000002aab44
> /system/lib64/libart.so (bool art::interpreter::DoCall<true,
> false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&,
> art::Instruction const*, unsigned short, art::JValue*)+464) #00 pc
> 00000000002b045c /system/lib64/libart.so (bool
> art::interpreter::DoInvoke<(art::InvokeType)2, true,
> false>(art::Thread*, art::ShadowFrame&, art::Instruction const*,
> unsigned short, art::JValue*)+264) #00 pc 00000000000de2ec
> /system/lib64/libart.so (art::JValue
> art::interpreter::ExecuteGotoImpl<false, false>(art::Thread*,
> art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue)+22748)
> #00 pc 0000000000286408 /system/lib64/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*,
> art::DexFile::CodeItem const*, art::ShadowFrame*)+96) #00 pc
> 0000000000540c64 /system/lib64/libart.so
> (artQuickToInterpreterBridge+632) #00 pc 0000000000128364
> /system/lib64/libart.so (art_quick_to_interpreter_bridge+100) #00
> pc 00000000031766a0 /system/framework/arm64/boot.oat (offset
> 0x2641000)
************************************************
pid:0,tid:0>>>应用程序名称艺术::解释器::DoCall(艺术::艺术方法*,艺术::线程*,
>艺术::影框&,艺术::指令常量*,无符号短,
>art::JValue*)+376)#00 pc 0000000000 2AFA68/system/lib64/libart.so
>(布尔艺术::解释器::DoInvoke true>(艺术::线程*,艺术::阴影帧和,艺术::指令常量*,
>无符号短线,艺术::JValue*)+1168)#00件00000000000 EFE10
>/system/lib64/libart.so(art::JValue)
>艺术::解释器::ExecuteGotoImpl(艺术::线程*,
>art::DexFile::CodeItem const*,art::ShadowFrame&,art::JValue)+20064)
>#00 pc 0000000000 286904/system/lib64/libart.so(ArtInterpreterToTranslatorBridge+480)#00 pc 0000000000 2A9FF8
>/system/lib64/libart.so(bool-art::解释器::DoCall-true>(art::art-method*、art::Thread*、art::ShadowFrame&、,
>艺术::指令常数*,无符号短,艺术::JValue*)+904)#00件
>0000000000 2B0EB4/system/lib64/libart.so(bool
>艺术::解释器::DoInvoke true>(艺术::线程*,艺术::阴影帧和,艺术::指令常量*,
>无符号短码,艺术::JValue*)+972)#00件00000000000f0238
>/system/lib64/libart.so(art::JValue)
>艺术::解释器::ExecuteGotoImpl(艺术::线程*,
>art::DexFile::CodeItem常量*,art::ShadowFrame&,art::JValue)+21128)
>#00 pc 0000000000 286904/system/lib64/libart.so(ArtInterpreterToTranslatorBridge+480)#00 pc 0000000000 2A9FF8
>/system/lib64/libart.so(bool-art::解释器::DoCall-true>(art::art-method*、art::Thread*、art::ShadowFrame&、,
>艺术::指令常数*,无符号短,艺术::JValue*)+904)#00件
>0000000000 2B0EB4/system/lib64/libart.so(bool
>艺术::解释器::DoInvoke true>(艺术::线程*,艺术::阴影帧和,艺术::指令常量*,
>无符号短码,艺术::JValue*)+972)#00件00000000000f0238
>/system/lib64/libart.so(art::JValue)
>艺术::解释器::ExecuteGotoImpl(艺术::线程*,
>art::DexFile::CodeItem常量*,art::ShadowFrame&,art::JValue)+21128)
>#00 pc 0000000000 286904/system/lib64/libart.so(ArtInterpreterToTranslatorBridge+480)#00 pc 0000000000 2A964C
>/system/lib64/libart.so(bool-art::解释器::DoCall-false>(art::art-method*、art::Thread*、art::ShadowFrame&、,
>艺术::指令常数*,无符号短,艺术::JValue*)+480)#00件
>0000000000 2AF3C0/system/lib64/libart.so(bool
>art::解释器::DoInvoke false>(art::Thread*,art::ShadowFrame&,art::Instruction const*,
>无符号短码,艺术::JValue*)+772)#00件00000000000dd95c
>/system/lib64/libart.so(art::JValue)
>艺术::解释器::ExecuteGotoImpl(艺术::线程*,
>art::DexFile::CodeItem常量*,art::ShadowFrame&,art::JValue)+20300)
>#00 pc 0000000000 286800/system/lib64/libart.so(ArtInterpreterToTranslatorBridge+220)#00 pc 0000000000 2A964C
>/system/lib64/libart.so(bool-art::解释器::DoCall-false>(art::art-method*、art::Thread*、art::ShadowFrame&、,
>艺术::指令常数*,无符号短,艺术::JValue*)+480)#00件
>0000000000 2AF3C0/system/lib64/libart.so(bool
>art::解释器::DoInvoke false>(art::Thread*,art::ShadowFrame&,art::Instruction const*,
>无符号短码,艺术::JValue*)+772)#00件00000000000dd95c
>/system/lib64/libart.so(art::JValue)
>艺术::解释器::ExecuteGotoImpl(艺术::线程*,
>art::DexFile::CodeItem常量*,art::ShadowFrame&,art::JValue)+20300)
>#00 pc 0000000000 286800/system/lib64/libart.so(ArtInterpreterToTranslatorBridge+220)#00 pc 0000000000 2A964C
>/system/lib64/libart.so(bool-art::解释器::DoCall-false>(art::art-method*、art::Thread*、art::ShadowFrame&、,
>艺术::指令常数*,无符号短,艺术::JValue*)+480)#00件
>00000000000 DE0C8/system/lib64/libart.so(art::JValue)
>艺术::解释器::ExecuteGotoImpl(艺术::线程*,
>art::DexFile::CodeItem const*,art::ShadowFrame&,art::JValue)+22200)
>#00 pc 0000000000 286800/system/lib64/libart.so(ArtInterpreterToTranslatorBridge+220)#00 pc 0000000000 2A964C
>/system/lib64/libart.so(bool-art::解释器::DoCall-false>(art::art-method*、art::Thread*、art::ShadowFrame&、,
>艺术::指令常数*,无符号短,艺术::JValue*)+480)#00件
>0000000000 2AF3C0/system/lib64/libart.so(bool
>art::解释器::DoInvoke false>(art::Thread*,art::ShadowFrame&,art::Instruction const*,
>无符号短码,艺术::JValue*)+772)#00件00000000000dd95c
>/system/lib64/libart.so(art::JValue)
>艺术::解释器::ExecuteGotoImpl(艺术::线程*,
>art::DexFile::CodeItem常量*,art::ShadowFrame&,art::JValue)+20300)
>#00 pc 0000000000 286800/system/lib64/libart.so(ArtInterpreterToTranslatorBridge+220)#00 pc 0000000000 2A964C
>/system/lib64/libart.so(bool-art::解释器::DoCall-false>(art::art-method*、art::Thread*、art::ShadowFrame&、,
>艺术::指令常数*,无符号短,艺术::JValue*)+480)#00件
>0000000000 2AC5F0/system/lib64/libart.so(bool
>art::解释器::DoInvoke false>(art::Thread*,art::ShadowFrame&,art::Instruction const*,
>无符号短码,艺术::JValue*)+268)#00件00000000000de37c
>/system/lib64/libart.so(art::JValue)
>艺术::解释器::ExecuteGotoImpl(艺术::线程*,
>art::DexFile::CodeItem const*,art::ShadowFrame&,art::JValue)+22892)
>#00 pc 0000000000 286800/system/lib64/libart.so(ArtInterpreterToTranslatorBridge+220)#00 pc 0000000000 2AAB44
>/system/lib64/libart.so(bool-art::解释器::DoCall-false>(art::art-method*、art::Thread*、art::ShadowFrame&、,
>艺术::指令常数*,无符号短,艺术::JValue*)+464)#00件
>0000000000 2B045C/system/lib64/libart.so(bool
>art::解释器::DoInvoke false>(art::Thread*,art::ShadowFrame&,art::Instruction const*,
>无符号短代码,艺术::JValue*)+264)#00件00000000000 DE2EC
>/系统/