所以我的应用程序开始随机崩溃,出现致命信号11(在随机活动中,有些人似乎比其他人做得更频繁,但我还没有找到模式)。我不知道为什么,它以前没有做过,我的代码也没有改变那么多,主要是,同样的代码对我的同事来说很好。我想做什么来修复它:
重新启动我的机器
三次检查代码中的所有内容
把Gradlew清理干净重建一切
从VCS上签出一个旧版本(我确信有效)
从VCS签出旧版本到全新项目
使用不同版本的Android(4.1-4.3)
使用不同的模拟器(常规avd和genymotion)
坦白地说,我完全没主意了,我的机器没有变化(甚至没有Windows更新),代码没有重大变化(为了安全起见,我尝试还原),JVM没有变化,Android Studio没有更新,错误完全是随机的。
谢谢你的建议…
坠机报告:

.debug A/libc﹕ Fatal signal 11 (SIGSEGV) at 0x97e2c9c4 (code=2), thread 1768 (.smartpos.debug)
11-25 12:37:20.092      103-103/? I/DEBUG﹕ *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
11-25 12:37:20.092      103-103/? I/DEBUG﹕ Build fingerprint: 'generic/vbox86p/vbox86p:4.3/JLS36G/eng.buildbot.20131113.022613:userdebug/test-keys'
11-25 12:37:20.092      103-103/? I/DEBUG﹕ Revision: '0'
11-25 12:37:20.092      103-103/? I/DEBUG﹕ pid: 1768, tid: 1768, name: .smartpos.debug  >>> .debug <<<
11-25 12:37:20.092      103-103/? I/DEBUG﹕ signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 97e2c9c4
11-25 12:37:20.196      103-103/? I/DEBUG﹕ eax 97e2c034  ebx b6191ccc  ecx b8aea200  edx 00000264
11-25 12:37:20.200      103-103/? I/DEBUG﹕ esi a56b0b58  edi a56b0b58
11-25 12:37:20.200      103-103/? I/DEBUG﹕ xcs 00000073  xds 0000007b  xes 0000007b  xfs 00000000  xss 0000007b
11-25 12:37:20.200      103-103/? I/DEBUG﹕ eip b60ae6fc  ebp 97e2c000  esp bfe452e0  flags 00210282
11-25 12:37:20.200      103-103/? I/DEBUG﹕ backtrace:
11-25 12:37:20.200      103-103/? I/DEBUG﹕ #00  pc 000de6fc  /system/lib/libdvm.so (dvmResolveString+124)
11-25 12:37:20.200      103-103/? I/DEBUG﹕ #01  pc 0002a3d7  /system/lib/libdvm.so
11-25 12:37:20.200      103-103/? I/DEBUG﹕ #02  pc 00277767  /dev/ashmem/dalvik-heap (deleted)
11-25 12:37:20.200      103-103/? I/DEBUG﹕ #03  pc 0003b322  /system/lib/libdvm.so (dvmMterpStd(Thread*)+66)
11-25 12:37:20.200      103-103/? I/DEBUG﹕ #04  pc 000369e9  /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+217)
11-25 12:37:20.200      103-103/? I/DEBUG﹕ #05  pc 000b9f62  /system/lib/libdvm.so (dvmInvokeMethod(Object*, Method const*, ArrayObject*, ArrayObject*, ClassObject*, bool)+1634)
11-25 12:37:20.200      103-103/? I/DEBUG﹕ #06  pc 000ce9e0  /system/lib/libdvm.so (Dalvik_java_lang_reflect_Method_invokeNative(unsigned int const*, JValue*)+288)
11-25 12:37:20.200      103-103/? I/DEBUG﹕ #07  pc 00173058  /system/lib/libdvm.so
11-25 12:37:20.200      103-103/? I/DEBUG﹕ #08  pc 00005eff  <unknown>
11-25 12:37:20.200      103-103/? I/DEBUG﹕ #09  pc 0003b322  /system/lib/libdvm.so (dvmMterpStd(Thread*)+66)
11-25 12:37:20.200      103-103/? I/DEBUG﹕ #10  pc 000369e9  /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+217)
11-25 12:37:20.200      103-103/? I/DEBUG﹕ #11  pc 000bacf7  /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, char*)+759)
11-25 12:37:20.200      103-103/? I/DEBUG﹕ #12  pc 0007774d  /system/lib/libdvm.so (CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, char*)+109)
11-25 12:37:20.200      103-103/? I/DEBUG﹕ #13  pc 0005d3ea  /system/lib/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+42)
11-25 12:37:20.200      103-103/? I/DEBUG﹕ #14  pc 0005eaac  /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, char const*)+924)
11-25 12:37:20.200      103-103/? I/DEBUG﹕ #15  pc 00001017  /system/bin/app_process (main+567)
11-25 12:37:20.200      103-103/? I/DEBUG﹕ #16  pc 0000cedc  /system/lib/libc.so (__libc_init+108)
11-25 12:37:20.200      103-103/? I/DEBUG﹕ #17  pc 00000a91  /system/bin/app_process (_start+97)

更新:
似乎问题出在x86图像上(包括avd和genymotion),如果我使用arm图像,一切似乎都正常。当我有更多的时间时,我会努力深入研究并提交一个错误报告。现在看来,我必须耐心对待慢手臂的图像:/

最佳答案

如果使用gson并序列化android.location.Location对象,请小心,我得到了这个错误,并用onandroid.location.Location包装器替换了Location
更新日期:2019年6月3日
类似于:

data class Location(val latitude: Double, val longitude: Double)

09-10 06:15
查看更多