android - 带有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)
任何指针?
解决方案
推荐阅读
- java - 给定一个字符串,如果它包含超过 4 个字符,则返回字符串中的第一个字符,否则返回最后一个字符
- resteasy - 如何修复 quarkus 反应端点中的“无法执行选项”?
- javascript - Window.postMessage 事件侦听器未在慢速网络上触发
- rubygems - ID25/rails_emoji_picker gem 不支持暂存和开发环境
- swift - 当集合视图中只有 6 个项目时,请求全局索引 6 的索引路径
- python-3.x - 试图理解 Python 的 AES 方法
- bash - 从期望脚本调用 bash shell 脚本失败:“没有这样的文件或目录”
- android - 在项目中添加 BluringView
- testing - 从 Gatling 中的编码响应中提取数据
- redis - Redis:如果键存在则原子获取?