12-28 14:30:12.627211 8276 8276 I AEE_AED : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
12-28 14:30:12.627503 8276 8276 I AEE_AED : Build fingerprint: 'alps/changan_car/spm8666p1_64_car:9/M8.23/14:userdebug/test-keys'
12-28 14:30:12.627534 8276 8276 I AEE_AED : Revision: '0'
12-28 14:30:12.627550 8276 8276 I AEE_AED : ABI: 'arm64'
12-28 14:30:12.627649 8276 8276 I AEE_AED : pid: 7804, tid: 7881, name: RenderThread >>> com.incall.app.drivershealth <<<
12-28 14:30:12.627736 8276 8276 I AEE_AED : signal 6 (SIGABRT), code --------, fault addr --------
12-28 14:30:12.628284 8276 8276 I AEE_AED : x0 0000000000000000 x1 0000000000001ec9 x2 0000000000000006 x3 0000000000000008
12-28 14:30:12.628322 8276 8276 I AEE_AED : x4 feff71647164636d x5 feff71647164636d x6 feff71647164636d x7 7f7f7f7f7f7f7f7f
12-28 14:30:12.628344 8276 8276 I AEE_AED : x8 0000000000000083 x9 0000007d0283a9a0 x10 fffffff87ffffbdf x11 0000000000000001
12-28 14:30:12.628366 8276 8276 I AEE_AED : x12 0000007c61eeccf0 x13 ffffffffffffffff x14 ffffffffff000000 x15 ffffffffffffffff
12-28 14:30:12.628386 8276 8276 I AEE_AED : x16 0000007d028732c8 x17 0000007d027b12d8 x18 0000007c61eec4da x19 0000000000001e7c
12-28 14:30:12.628407 8276 8276 I AEE_AED : x20 0000000000001ec9 x21 0000000000000083 x22 0000000000000000 x23 0000007cfe534050
12-28 14:30:12.628427 8276 8276 I AEE_AED : x24 0000007cfe534100 x25 0000007c75485620 x26 7fffffffffffffff x27 0000007c61eed588
12-28 14:30:12.628448 8276 8276 I AEE_AED : x28 0000000000000000 x29 0000007c61eecc10 x30 0000007d027a5a90
12-28 14:30:12.628467 8276 8276 I AEE_AED : sp 0000007c61eecbd0 pc 0000007d027a5abc pstate 0000000060000000
12-28 14:30:12.689839 8276 8276 I AEE_AED :
12-28 14:30:12.689839 8276 8276 I AEE_AED : backtrace:
12-28 14:30:12.689922 8276 8276 I AEE_AED : #00 pc 0000000000021abc /system/lib64/libc.so (abort+124)
12-28 14:30:12.689951 8276 8276 I AEE_AED : #01 pc 00000000000080f8 /system/lib64/liblog.so (__android_log_assert+296)
12-28 14:30:12.689978 8276 8276 I AEE_AED : #02 pc 0000000000486aa8 /system/lib64/libhwui.so (android::uirenderer::renderthread::EglManager::makeCurrent(void*, int*)+248)
12-28 14:30:12.690005 8276 8276 I AEE_AED : #03 pc 0000000000486bd4 /system/lib64/libhwui.so (android::uirenderer::renderthread::EglManager::destroySurface(void*)+44)
12-28 14:30:12.690032 8276 8276 I AEE_AED : #04 pc 0000000000480e60 /system/lib64/libhwui.so (android::uirenderer::skiapipeline::SkiaOpenGLPipeline::setSurface(android::Surface*, android::uirenderer::renderthread::SwapBehavior, android::uirenderer::renderthread::ColorMode)+48)
12-28 14:30:12.690058 8276 8276 I AEE_AED : #05 pc 000000000010812c /system/lib64/libhwui.so (android::uirenderer::renderthread::CanvasContext::setSurface(android::sp<android::Surface>&&)+100)
12-28 14:30:12.690085 8276 8276 I AEE_AED : #06 pc 0000000000484eac /system/lib64/libhwui.so (android::uirenderer::renderthread::CanvasContext::makeCurrent()+148)
12-28 14:30:12.690155 8276 8276 I AEE_AED : #07 pc 0000000000485834 /system/lib64/libhwui.so (_ZNSt3__110__function6__funcIZN7android10uirenderer12renderthread13DrawFrameTask11postAndWaitEvE3$_0NS_9allocatorIS6_EEFvvEEclEv$c303f2d2360db58ed70a2d0ac7ed911b+180)
12-28 14:30:12.690193 8276 8276 I AEE_AED : #08 pc 000000000043c880 /system/lib64/libhwui.so (android::uirenderer::WorkQueue::process()+168)
12-28 14:30:12.690219 8276 8276 I AEE_AED : #09 pc 000000000011627c /system/lib64/libhwui.so (android::uirenderer::renderthread::RenderThread::threadLoop()+244)
12-28 14:30:12.690244 8276 8276 I AEE_AED : #10 pc 000000000000fb80 /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+280)
12-28 14:30:12.690281 8276 8276 I AEE_AED : #11 pc 0000000000083114 /system/lib64/libc.so (__pthread_start(void*)+36)
12-28 14:30:12.690315 8276 8276 I AEE_AED : #12 pc 00000000000233bc /system/lib64/libc.so (__start_thread+68)
看能不能重现这个错误,找到规律,定位代码,或者一步步调试。看看这个,能否有帮助,https://blog.csdn.net/CJohn1994/article/details/126590240
检查下这几个因素:
第一点,网络数据的请求和保护,在app进行网络切换的时候,如果没有做好网络保护,是会出现app闪退问题的
第二点,主线程的死锁
第三点,数据安全保护,在数据和网络服务器之间进行交互的时候,服务器返回的空类型有多种多样类型,可以为null,也可以有空格等,所以,在做好空值处理的时候,需要考虑多种情况,如果空值判断不好,也是会出现闪退问题的,再者就是最好在数据处理的时候,添加空值判断
第四点,数据的返回,做安全判断,在服务器对接的时候,如果数据处理没有做好,返回回调的数据安全判断,也是会出现闪退问题
第五点,内存泄露,这个就需要启用Zombie Object进行悬挂指针的检测。
或者 应用Product -> Analysis进行内存泄露的初步检测。
可以复现为什么不联调呢
这是一个 Android 应用程序崩溃(crash)日志。它显示了应用崩溃时所发生的情况。
要解决这个问题,您需要分析日志并尝试确定崩溃的原因。这可能需要您检查代码,使用调试工具,或者查看其他资料来了解应用崩溃的可能原因。
具体来说,您可以查看日志中的堆栈跟踪(backtrace)信息,它会显示应用崩溃时程序的执行流程。您还可以查看日志中的寄存器值(如 x0、x1 等),这些值可能有助于确定崩溃的原因。另外,您还可以查看日志中的其他信息,如应用的指纹(fingerprint)、ABI 信息等。
希望这些信息能帮助您解决问题。如果您还有其他问题,请随时告诉我,我会尽力帮助您。
Crash日志是在应用发生闪退时生成的一种文件,包含了应用闪退时的相关信息。你可以使用Android Studio或其他工具来查看crash日志。
在分析crash日志时,你可以关注以下几个方面的信息:
1.异常类型:例如NullPointerException、IllegalArgumentException等。
2.异常发生的位置:例如哪一行代码、哪一个类、哪一个方法。
3.异常的调用堆栈:例如调用堆栈中的哪些方法。
4.其他相关信息:例如系统版本、设备信息、线程信息等。
通过分析crash日志,你可以找到导致应用闪退的原因,并采取相应的措施来修复问题。
信息太少了,你让我们怎么给你解释呢?是应用开了硬件加速了吗?还是用了 openGl?
这个 crash 日志显示了在您的应用程序的 RenderThread 线程中发生了一个 SIGABRT 信号。这通常表明应用程序运行时出现了一个未捕获的异常,导致应用程序崩溃。
在这种情况下,您可以使用调试器来跟踪应用程序的执行,并尝试查找导致异常的代码。您还可以查看应用程序的堆栈跟踪信息,以了解在发生异常时应用程序正在执行哪些操作。
另外,您还可以使用工具(如 Android Studio 的 Android Profiler)来监视应用程序的内存使用情况,并尝试查找导致内存泄漏的问题。这可能会有助于您
第一点,网络数据的请求和保护,在app进行网络切换的时候,如果没有做好网络保护,是会出现app闪退问题的,所以,在网络请求类中,设置好网络的断网保护,就可以解决这类问题了
第二点,主线程的死锁
第三点,数据安全保护,在数据和网络服务器之间进行交互的时候,服务器返回的空类型有多种多样类型,可以为null,也可以为空类型加nukl,可以有空格等,所以,在做好空值处理的时候,需要考虑多种情况,如果空值判断不好,也是会出现闪退问题的,再者就是最好在数据处理的时候,添加空值判断
第四点,数据的返回,做安全判断,在服务器对接的时候,如果数据处理没有做好,返回回调的数据安全判断,也是会出现闪退问题
第五点,野指针或者内存泄露,这个就需要启用Zombie Object进行悬挂指针的检测。
或者 应用Product -> Analysis进行内存泄露的初步检测。
也 可以在xcode的build setting中打开implicit retain of ‘self’ within blocks,xcode编译器会给出警告,逐个排查警告。
抑或 应用Leak Instrument进行内存泄露查找。
在以上方法不奏效的情况下,通过查看dealloc是否调用查看某个class是否泄露的问题
看堆栈错误,应该是线程有问题了
断点调试看下具体是哪异常的
是不是堆栈方面出错了,可以排查一下相关错误。