首页 > 解决方案 > 带有targetsdk 29的Android 6上的本机崩溃

问题描述

自从我将应用程序的 targetsdk 设置为 29 即 Android 10 以来,我在 Android 6 设备上看到了很多崩溃(占总数的 97%)。此崩溃不会出现在 Android 模拟器中,并且主要出现在 Oppo 和 K5 Note 设备中。

崩溃日志如下所示:

    *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
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)

任何指针?

标签: androidcrash

解决方案


推荐阅读