# - Unity工程符号文件在哪里?

# MONO

# mono需要上传的符号文件

  • libunity.so (如果没有重新编译引擎,默认在编辑器的如下目录)
  • libmono.so (如果没有重现编辑mono,默认在编辑器的如下目录)

# Release(armeabi-v7a)版本

\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Symbols\armeabi-v7a\libunity.sym.so \Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\MonoLibs\armeabi-v7a\libmono.so

# Release(x86)版本

\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Symbols\x86\libunity.sym.so \Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\MonoLibs\x86\libmono.so

# Development(armeabi-v7a)版本

\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Development\Symbols\armeabi-v7a\libunity.sym.so \Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Development\MonoLibs\armeabi-v7a\libmono.so

# Development(x86)版本

\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Development\Symbols\x86\libunity.sym.so \Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Development\MonoLibs\x86\libmono.so

# il2cpp

# il2cpp需要上传的符号文件

  • libunity.so (如果没有重新编译引擎,默认在编辑器的如下目录)
  • libil2cpp.so (打包后在项目自己的构建临时目录下)

# il2cpp Release(armeabi-v7a)版本

\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\il2cpp\Release\Symbols\armeabi-v7a\libunity.sym.so

# il2cpp Development(armeabi-v7a)版本

\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\il2cpp\Development\Symbols\x86\libunity.sym.so

# il2cpp Release(x86)版本

\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\il2cpp\Release\Symbols\x86\libunity.sym.so

# il2cpp Development(x86)版本

\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\il2cpp\Development\Symbols\x86\libunity.sym.so

如果勾了这个striped,那么需要在打包的时候勾上create symbols.zip,里面才会有符号文件,不能再去引擎目录拿了, striped过后的so连buildid都变了。 其他第三方库符号文件根据应用需求上传即可

# - Unity捕获不到脚本异常信息?

# 问题排除方法:

  1. 应用程序在最外层添加了try catch,导致异常被try catch捕获,没有被Crasheye捕获到;
  2. 搜索项目其他地方有无重复使用 Application.RegisterLogCallback,如果有请使用Crasheye.SetRegisterLogFunction 代替,详情查看 帮助文档
  3. 确定Crasheye.cs 在项目启动入口有初始化;

# - Unity使用MONO接入的好处是什么?

使用unity接入后可以查看到部分NDK崩溃的C#的堆栈信息,如下图

# - Unity如何查看NDK堆栈信息?

把unity版本下的libmain.so、libunity.so、libmono.so符号文件上传到Crasheye服务,Crasheye会自动进行重新分析,稍等片刻即可查看到相关的NDK堆栈信息;

上次更新: 2023/9/13 14:06:01