# - 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捕获不到脚本异常信息?
# 问题排除方法:
- 应用程序在最外层添加了try catch,导致异常被try catch捕获,没有被Crasheye捕获到;
- 搜索项目其他地方有无重复使用 Application.RegisterLogCallback,如果有请使用Crasheye.SetRegisterLogFunction 代替,详情查看 帮助文档 ;
- 确定Crasheye.cs 在项目启动入口有初始化;
# - Unity使用MONO接入的好处是什么?
使用unity接入后可以查看到部分NDK崩溃的C#的堆栈信息,如下图
# - Unity如何查看NDK堆栈信息?
把unity版本下的libmain.so、libunity.so、libmono.so
符号文件上传到Crasheye服务,Crasheye会自动进行重新分析,稍等片刻即可查看到相关的NDK堆栈信息;