通过Android Logcat分析firebase崩溃

这篇具有很好参考价值的文章主要介绍了通过Android Logcat分析firebase崩溃。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考:UnityIL2CPP包Crash闪退利用Android Logcat还原符号表堆栈日志 - 简书

一、安装Android Logcat插件

1、新建空白unity工程,打开PackageManager窗口,菜单栏Window/PackageManager

通过Android Logcat分析firebase崩溃,unity

2、PackageManager中安装Android Logcat日志工具

通过Android Logcat分析firebase崩溃,unity

3、安装AndroidLogcat完成

通过Android Logcat分析firebase崩溃,unity

二、获取Create symbols.zip中的libil2cpp.sym.so文件

1.打包

在出包时勾选Create symbols.zip选项,在PlayerSettings面板中,出包选项从mono切换到il2cpp,然后Build包

通过Android Logcat分析firebase崩溃,unity

通过Android Logcat分析firebase崩溃,unity

出包完成,目录会有一个apk和一个zip的符号表压缩包

通过Android Logcat分析firebase崩溃,unity

三、获取libunity.sym.so文件

在Unity编辑器中,libunity.sym.so文件通常位于Unity安装目录下的Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Symbols文件夹中。

具体路径是:{Unity安装目录}\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Symbols

请注意,这个路径是基于默认的Unity安装目录,并且可能因为不同的Unity版本或自定义安装路径而有所变化。如果你的Unity安装目录有所不同,你可以通过搜索文件名或在Unity编辑器中使用"Reveal in Finder"(在资源视图中右键点击文件,选择"Show in Explorer")等选项来找到libunity.sym.so文件的确切位置。

四、Crash日志解析

1.菜单栏打开AndroidLogcat工具,Window/Analysis/AndroidLogcat

通过Android Logcat分析firebase崩溃,unity

2.配置符号表

右上角,点击Tools,点击Stacktrace Utility

通过Android Logcat分析firebase崩溃,unity

点击Configure Symbol Path,然后弹出的配置界面点击+号

通过Android Logcat分析firebase崩溃,unity

点击Pick Custom Location,选择刚刚解压的符号表文件夹

通过Android Logcat分析firebase崩溃,unity

通过Android Logcat分析firebase崩溃,unity

3.崩溃堆栈格式

找到一个firebase上的崩溃堆栈:

Fatal Exception: Tombstone: Version '2019.4.40f1 (ffc62b691db5)', Build type 'Release', Scripting Backend 'il2cpp', CPU 'armeabi-v7a'
Build fingerprint: 'TECNO/BE8-RU/TECNO-BE8:12/SP1A.210812.016/230105V142:user/release-keys'
Revision: '0'
ABI: 'arm'
Timestamp: 2024-01-24 10:11:45+0400
pid: 20495, tid: 20628, name: UnityMain  >>>  <<<
uid: 10182
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
Cause: null pointer dereference
    r0  00000000  r1  00000000  r2  00000002  r3  00000001
    r4  06eca250  r5  44fb7fd0  r6  6eaf1af5  r7  00000020
    r8  7a5c083c  r9  a7e97710  r10 00000000  r11 7a5c07e0
    ip  7a5c0740  sp  7a5c07d0  lr  aabb9191  pc  5a864344


#00 pc 0x1322344 libil2cpp.so (libil2cpp.0x1322344)
#01 pc 0x1322158 libil2cpp.so (libil2cpp.0x1322158)
#02 pc 0x1321f00 libil2cpp.so (libil2cpp.0x1321f00)
#03 pc 0x1321cf4 libil2cpp.so (libil2cpp.0x1321cf4)
#04 pc 0x1322690 libil2cpp.so (libil2cpp.0x1322690)
#05 pc 0x353445 libunity.so (libunity.0x353445)
#06 pc 0x35e337 libunity.so (libunity.0x35e337)
#07 pc 0x35db77 libunity.so (libunity.0x35db77)
#08 pc 0x35e043 libunity.so (libunity.0x35e043)
#09 pc 0x3542a9 libunity.so (libunity.0x3542a9)
#10 pc 0x3542c5 libunity.so (libunity.0x3542c5)
#11 pc 0x354461 libunity.so (libunity.0x354461)
#12 pc 0x4313bf libunity.so (libunity.0x4313bf)
#13 pc 0x43f191 libunity.so (libunity.0x43f191)
#14 pc 0xac07b base.odex (base.0xac07b)

AndroidLogcat可解析的崩溃堆栈格式为:

#xx  pc  32位地址(即8位16进制数,要去掉x,不足在前面补0)  /{ABI}/{xxx}.so

#00 pc 01322344 /arm/libil2cpp.so
#01 pc 01322158 /arm/libil2cpp.so
#02 pc 01321f00 /arm/libil2cpp.so
#03 pc 01321cf4 /arm/libil2cpp.so
#04 pc 01322690 /arm/libil2cpp.so
#05 pc 00353445 /arm/libunity.so
#06 pc 0035e337 /arm/libunity.so
#07 pc 0035db77 /arm/libunity.so
#08 pc 0035e043 /arm/libunity.so
#09 pc 003542a9 /arm/libunity.so
#10 pc 003542c5 /arm/libunity.so
#11 pc 00354461 /arm/libunity.so
#12 pc 004313bf /arm/libunity.so
#13 pc 0043f191 /arm/libunity.so

4.选择abi对应的符号表

ABI:arm=>armeabi-v7a        arm64=>arm64-v8a        (还有其他如x86、x86_64)

通过Android Logcat分析firebase崩溃,unity

5.解析

通过Android Logcat分析firebase崩溃,unity

通过Android Logcat分析firebase崩溃,unity文章来源地址https://www.toymoban.com/news/detail-823506.html

到了这里,关于通过Android Logcat分析firebase崩溃的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android 集成firebase 推送(FCM)

    1,集成firebase 基础 1googleService文件 2项目级gradle 3app级gradle 4setting  2,推送相关 重点: 源文档:设置 Firebase Cloud Messaging 客户端应用 (Android) (google.com) 1清单文件 4主启动Activity(清单文件里设置 action android:name=\\\"android.intent.action.MAIN\\\" / 的Activity) ==================结束==============

    2024年04月22日
    浏览(20)
  • unity sdk -AppLovin MAX 广告聚合平台接入+Firebase统计

    unity版本:2019.4.40f1 Android Studio :4.2.1 sdk版本:5.4.6 max对应unity的官方文档: MAX Mediation Documentation https://dash.applovin.com/documentation/mediation/unity/getting-started/integration  a、集成max SDK 的更新  b、其他中介平台组加入(我这边加入了 google admob 和Mintegral和Pangle 三个中介平台)   c、

    2023年04月09日
    浏览(30)
  • Android 新版 Logcat 操作小技巧

    新版的Android Studio中启用了新的 Logcat,有些小技巧这里介绍一下: 1. Logcat启动 当应用程序启动或停止(关闭或崩溃)时,新的 logcat 会显示额外的消息。它会包含新的消息、进程 ID 和包名称。 2. Logcat 搜索 Logcat 提供了搜索栏,有非常丰富的搜索逻辑,下面来聊一下我们用的

    2023年04月11日
    浏览(70)
  • 【Android】logcat日志敏感信息泄露

    之前会遇到一些应用logcat打印敏感信息,包括但不限于账号密码,cookie凭证,或一些敏感的secretkey之类的,下面客观的记录下起危害性。  1. logcat logcat是Android系统提供的一种记录日志的工具。它可以帮助开发人员诊断应用程序中的问题,例如崩溃、内存泄漏和性能问题。l

    2024年02月07日
    浏览(38)
  • Android JNI打印logcat日志

    在 JNI 中打印日志可以使用 __android_log_print 函数来实现。该函数是 Android NDK 提供的一个用于在本地代码中输出日志消息到 logcat 的方法。 要在 JNI 中打印日志,请按照以下步骤进行操作: 在你的 JNI C/C++ 代码中包含 android/log.h 头文件: 使用 __android_log_print 函数来打印日志。它

    2024年02月09日
    浏览(36)
  • 新版Android Studio Logcat 筛选日志

    下载了新版的Android Studio,android-studio-2022.3.1.21-mac_arm,记录一下新版本AS的logcat过滤日志条件 1.1 过滤当前包名的日志 1.2 过滤其他包名日志 在控制台输入 就可以筛选所有info级别的日志 3.1 筛选单个tag 比如想筛选MainActivity的所有日志 那么在控制台可以看到所有MainActivity的日志

    2024年02月22日
    浏览(38)
  • 集成 Firebase 后,Flutter IM SDK 在 Android 端不触发回调

    描述 客户已集成 Firebase Messaging,Android 平台 Flutter IM SDK 的不触发任何回调。 分析(根因分析、需求分析) 可能原因是客户构建了一个 FlutterEngine instance,导致 SDK 的 FlutterEngine instance 失效了。 解决方案 找到以下 java 文件 packages/firebase_messaging/firebase_messaging/android/src/main/jav

    2024年02月01日
    浏览(30)
  • Android Studio新版本logcat过滤说明

    按包名过滤 //输入package:(输入一个p就会有提示的) ,后面加上包名 比如: package:com.xal.runcontrol package:包名可以完整或者输部分包名即可 package=:包名需要输完整准确 package~:正则表达式过滤 不了解正则表达式的可以参考:正则表达式 – 简介 | 菜鸟教程 -package:反向过滤 -pack

    2024年02月12日
    浏览(27)
  • Android11 默认开机后台记录logcat日志

    软件平台:Android11 硬件平台:QCS6125     需求:android启动后,默认后台记录logcat日志,并且设置每个文件大小为2M,最多记录30个文件,并且放置的data目录需要开放给app侧读取权限。 改动如下: device目录添加app侧读取的selinux权限: system目录相关添加: Mark一下,编译验证调

    2024年02月15日
    浏览(32)
  • Android Studio 学习笔记--LogCat的使用

    LogCat是Android中的命令行工具, 用于获取程序从启动到关闭的日志信息 。Android中的应用运行在一个单独的设备中,应用的调试信息会输出到这个设备单独的日志缓冲区中,要想从设备日志缓存区中取出信息,就需要学会使用LogCat Log类所输出的日志内容分为 6 个级别,由低到

    2024年02月10日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包