打开我的应用时,应用有时会崩溃
Posted
技术标签:
【中文标题】打开我的应用时,应用有时会崩溃【英文标题】:App got crash sometimes when opening my app 【发布时间】:2016-09-05 05:12:32 【问题描述】:打开我的应用程序时突然发生了一次崩溃,我在下面上传了崩溃日志。但它有时会发生,但并非每次和每台设备都会发生。
谁能帮我理解崩溃日志,以及为什么有时和某些设备会发生这种情况。以下崩溃的主要原因是什么?
Revision: '14'
ABI: 'arm'
pid: 1834, tid: 8022, name: pool-3-thread-1 >>> com.example <<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
Abort message: 'art/runtime/check_jni.cc:65] JNI DETECTED ERROR IN APPLICATION: java_array == null'
r0 00000000 r1 00001f56 r2 00000006 r3 00000000
r4 942bfdb8 r5 00000006 r6 00000002 r7 0000010c
r8 00000000 r9 b4e4f520 sl af17a800 fp 00000965
ip 00001f56 sp 942bf498 lr b6f26fd5 pc b6f4aeb4 cpsr 60070010
backtrace:
#00 pc 00037eb4 /system/lib/libc.so (tgkill+12)
#01 pc 00013fd1 /system/lib/libc.so (pthread_kill+52)
#02 pc 00014bef /system/lib/libc.so (raise+10)
#03 pc 00011531 /system/lib/libc.so (__libc_android_abort+36)
#04 pc 0000fcbc /system/lib/libc.so (abort+4)
#05 pc 0021d161 /system/lib/libart.so (art::Runtime::Abort()+160)
#06 pc 000a831b /system/lib/libart.so (art::LogMessage::~LogMessage()+1322)
#07 pc 000b1a49 /system/lib/libart.so (art::JniAbort(char const*, char const*)+1060)
#08 pc 000b1fa5 /system/lib/libart.so (art::JniAbortF(char const*, char const*, ...)+60)
#09 pc 001be127 /system/lib/libart.so (art::JNI::GetArrayLength(_JNIEnv*, _jarray*)+570)
#10 pc 00001171 /data/app/com.example-1/lib/arm/library.so (Java_com_example_value_encypt+48)
#11 pc 004986f9 /data/dalvik-cache/arm/data@app@com.example-1@base.apk@classes.dex
【问题讨论】:
您的应用中有一些 NDK 代码吗? (原生 C++ 代码) 你应该看看你的 NDK 代码,这是从那里开始的。 java_array 之一似乎没有初始化。 好的,然后检查ndk代码,找到'java_array'变量并添加一个缺失的空检查。错误是这个变量在某些时候为空。 @Kelevandos 没有变量“java_array”。NDK 仅调用 GetArrayLength 方法。 好的,那么对这个方法做一次nullcheck,如果引用为null则返回0 【参考方案1】:这种崩溃也发生在我的应用上。我无法通过日志弄清楚。有一次,我拿到了一个崩溃的设备,发现它在我清理WebView
缓存的地方崩溃了。问题是执行此操作的功能已被弃用,因此在大多数手机中它都可以工作,而在其他少数手机中,它崩溃了。由于这可能甚至在 Crashlytics
初始化之前就发生了,所以除了来自 Play Store
的此类日志之外,我没有收到任何实际的崩溃报告。
我的建议是,检查来自Play Store
的设备型号,并尝试获取其中一台设备并尝试查看logcat
崩溃报告,因为它会指出实际问题。
【讨论】:
以上是关于打开我的应用时,应用有时会崩溃的主要内容,如果未能解决你的问题,请参考以下文章
当我启动 iphone 模拟器时,Lion Osx 有时会导致所有应用程序崩溃