美文网首页
unity-打包ILL2CPP-Android工程崩溃代码还原

unity-打包ILL2CPP-Android工程崩溃代码还原

作者: 飞翔的蜗牛235 | 来源:发表于2023-11-05 10:34 被阅读0次

1:打包android工程的注意事项

1.现在打包一般都是IL2cpp的了,C#代码都会被转为c++,这时应用出现崩溃时,只会报出一些崩溃函数的内存地址,这时就需要使用工具解析崩溃的函数,那么首先我们打包的时候一定要勾选生成


QQ截图20231106101715.png

也可以通过代码生成EditorUserBuildSettings.androidCreateSymbols = AndroidCreateSymbols.Debugging
2.unity的so位置在 C:\Program Files\Unity\Hub\Editor\2021.3.1f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\il2cpp\Release\Symbols 目录
但是打包时都开启了代码裁剪 所以使用这里的不一定能对应的上
所以我们都直接使用android_project下的so文件,这里就要使用android_project下的symbols,使用gradle打包的都在ndroid_project\unityLibrary\symbols,还有launcher\build\outputs\native-debug-symbols\release 这两个目录下
symbol文件准备好后放到文件目录,一般结构如下


55.png

2:后台崩溃监控

1.一般我们都会接入bugly来监控应用的崩溃信息,或者能重现崩溃的话 我们也可以通过模拟器的adb来抓取日志,bugly可以上传符号表,但有时解析不出来
2.或者我们可以使用ndk addr2line工具来还原崩溃,注意ndk的版本要和unity使用的对应上
工具目录在ndk安装目录androidSdk/ndk/21.3.6528147/toolchains/目录下
addr2line_64=aarch64-linux-android-4.9/prebuilt/darwin-x86_64/bin/aarch64-linux-android-addr2line
在定义symbol的路径
ndkPath=/Users/administrator/Documents/GameEnv/androidSdk/ndk/21.3.6528147/toolchains/
addr2line_64=aarch64-linux-android-4.9/prebuilt/darwin-x86_64/bin/aarch64-linux-android-addr2line
tool_64=ndkPathaddr2line_64
Symbol = 崩溃的代码位置
"tool_64" -C -f -esoSymbolPath Symbol >logPath

3:这里推荐使用unity插件Android Logcat来分析

1.Android Logcat工具来还原要比其他方式好用,强烈推荐
首先我们开始安装Android Logcat,点击window/Package Manager


1.png 2.png

然后点击Tools/Stacktrace Utility配置符号表路径


3.png
5.png

然后拷贝崩溃代码到Original,点击Resolve Stacktraces进行分析


![8.png](https://img.haomeiwen.com/i13112467/80d14f725731972b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
这样就能分析出崩溃代码了
8.png

相关文章

网友评论

      本文标题:unity-打包ILL2CPP-Android工程崩溃代码还原

      本文链接:https://www.haomeiwen.com/subject/vpuzidtx.html