在/system/lib64/libart.so中发生本地崩溃

9

我的应用程序在某些设备上报告了一些本地崩溃。我尝试通过https://source.android.com/devices/tech/debug/native-crash的帮助来理解堆栈跟踪,但是我没有找到原因。

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 0 >>> my.package <<<

backtrace:
  #00  pc 0000000000264298  /system/lib64/libart.so (_ZN3art6mirror5Class24ResolvedMethodAccessTestILb1ELb1ELNS_10InvokeTypeE0EEEbNS_6ObjPtrIS1_EEPNS_9ArtMethodEjNS4_INS0_8DexCacheEEE+352)
  #01  pc 00000000002978a8  /system/lib64/libart.so (_ZN3art11interpreterL8DoInvokeILNS_10InvokeTypeE0ELb0ELb1EEEbPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+508)
  #02  pc 000000000028c824  /system/lib64/libart.so (_ZN3art11interpreter17ExecuteSwitchImplILb1ELb0EEENS_6JValueEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameES2_b+36540)
  #03  pc 000000000025d6fc  /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameENS_6JValueEb+664)
  #04  pc 00000000004e4a88  /system/lib64/libart.so (artQuickToInterpreterBridge+1468)
  #05  pc 000000000051281c  /system/lib64/libart.so (art_quick_to_interpreter_bridge+92)
  #06  pc 000000000052da6c  /system/framework/arm64/boot.oat (java.util.TimSort.countRunAndMakeAscending+396)
  #07  pc 0000000000532508  /system/framework/arm64/boot.oat (java.util.TimSort.sort+440)
  #08  pc 000000000044a740  /system/framework/arm64/boot.oat (java.util.Arrays.sort+128)
  #09  pc 0000000000811f0c  /data/app/my.package-Py1SDcJah4ZBAmxAxgjfww==/oat/arm64/base.odex

这些设备都运行着Android 8.0,包括:

  • Galaxy S8 (dreamlte)
  • Xperia X Compact (F5321)
  • Galaxy S9 (starlte)
  • Mate 10 Pro (HWBLA)

有人可以帮我解决这个堆栈跟踪吗?有没有办法找到这个问题的根本原因?


3
我在几个地方看到了这个堆栈跟踪,所有的证据都指向可能是安卓的一个bug。请查看下一期中的崩溃日志3:https://issuetracker.google.com/issues/80166962 - PerracoLabs
谢谢提供链接!所以它与D8和/或App Bundle相关联...链接中没有解决方法。 - Kevin Robatel
不幸的是,目前还没有解决这个问题。我们需要继续跟踪此问题直到得到修复。如果您有更多详细信息,我建议您将尽可能多的信息添加到问题描述中。这可能有助于 Google Android 开发人员进行调查。 - PerracoLabs
我也遇到了完全相同的错误。:( 不知道该怎么解决。 - Pedro Paulo Amorim
请问有什么解决方案吗? - grolschie
同样的问题在Android 10上出现了。它每天崩溃170次。 - Kimi Chiu
1个回答

2

我曾经遇到过类似的崩溃,看起来是由于使用了错误的Java兼容性引起的。解决方法是在模块build.gradle文件中添加以下内容:

compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
}

有趣。也许你可以通过这个信息帮助谷歌 => https://issuetracker.google.com/issues/80166962 - Kevin Robatel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接