基于 Android-Java 的应用程序本机崩溃?

and*_*per 5 java java-native-interface android crash-reports dalvik

背景

我的应用程序有 100% 用 Ja​​va 编写的代码,它不需要进行任何繁重的操作。

应用程序本身仅使用下一个库,但它们都没有 JNI 代码:

  • 动作条夏洛克
  • 谷歌播放服务_lib

问题

今天我收到一个奇怪的崩溃报告,它没有显示任何正常的异常信息。

该报告是通过装有 Android 4.4 的“Galaxy S5 (klte)”设备发送的。

这是崩溃报告的标题:

Native crash at /dev/ashmem/dalvik-jit-code-cache in
/dev/ashmem/dalvik-jit-code-cache (deleted)
Run Code Online (Sandbox Code Playgroud)

这是崩溃内容:

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 
Build fingerprint: 'samsung/kltexx/klte:4.4.2/KOT49H/G900FXXU1ANE2:user/release-keys' 
Revision: '14' 
pid: 11904, tid: 11904, name: .lb.app_manager >>> com.lb.app_manager <<< 
signal 7 (SIGBUS), code 2 (BUS_ADRERR), fault addr 6d7b97cc SOME_NUMBERS

backtrace:
#00 pc 00026a56 /dev/ashmem/dalvik-jit-code-cache (deleted)
#01 pc 00026a55 /dev/ashmem/dalvik-jit-code-cache (deleted)

code around pc: SOME_NUMBERS

code around lr: SOME_NUMBERS
Run Code Online (Sandbox Code Playgroud)

其中“SOME_NUMBERS”看起来像很多随机的十六进制数。

我试过的

一些网站声称人们应该以同步方式解码图像(但我已经制作了许多这样做的应用程序并且从未出现此错误)。

问题是,对于这个应用程序,我已经使用单线程解码了位图,所以这不可能。

我没有发现任何其他与我在应用程序上所做的事情有关的事情,这些事情与本地代码处理有关。

我想,也许因为它是 Android 4.4,用户转移到“ART”运行时,但崩溃报告中有“dalvik”这个词,所以可能不是这样(即使是这样,我也不知道如何处理它)。

为了让事情变得更加不清楚,用户在报告中写了“不确定”...... :(

问题

这怎么可能?

为什么会发生?

我该如何解决?

其他人以前有这个问题吗?