关于#Android#的问题,如何解决?

AndroidAPP在使用过程中闪退,下面为crash日志
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是否泄露的问题

看堆栈错误,应该是线程有问题了

断点调试看下具体是哪异常的

是不是堆栈方面出错了,可以排查一下相关错误。