Unity3d:安卓符号

推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生

安卓符号

为了帮助您调试应用程序,Unity 可以生成一个包,其中包含本机 Unity 库的符号文件。符号文件包含一个表,该表将活动内存地址转换为可以使用的信息,如方法名称。翻译过程称为符号化。您可以将符号包上传到 Google Play 管理中心,以便在 Android 指标信息中心查看人类可读的堆栈跟踪。

有两种类型的符号文件:

  • 公共:包含符号表的小文件。有关详细信息,请参阅公共符号。
  • 调试:包含公共符号文件包含的所有内容,以及可用于更深入调试的完整调试信息。有关更多信息,请参见调试符号。

可以为以下库生成符号文件:

  • libmain:负责初始 Unity 引擎加载逻辑。
  • libunity:Unity 的引擎代码。
  • libil2cpp:包含项目中转换为C++代码的 C# 脚本。

Unity 生成 和 符号文件。Gradle 会生成符号文件。libmainlibunitylibil2cpp

公共符号

公共符号文件包含将函数地址解析为人类可读字符串的信息。Unity 使用该参数创建公共符号,以删除更深入的调试信息。这使得公共符号文件和包小于调试符号文件和包。--strip-debug

调试符号

调试符号文件包含完整的调试信息和符号表。使用它来:

  • 解决堆栈跟踪并调试具有可用源代码的应用程序。
  • 将本机调试器附加到应用程序并调试代码。

Unity 使用该参数创建调试符号。有关更多信息,请参阅 Linux 用户手册中的 –only-keep-debug。--only-keep-debug

注意:如果调试符号不可用,Unity 会在生成时在项目中放置一个公共符号文件。对于 和 库,调试符号不可用,Unity 始终生成公共符号文件。libmainlibunity

生成符号包

有两种方法可以为应用程序启用符号包生成:

  • 在“生成设置”窗口中:
  • 打开“生成设置”窗口(菜单:文件>“生成设置”)。
  • 选择安卓平台。
  • 创建符号.zip设置为以下选项之一:
  • 公共
  • 调试
  • 使用 EditorUserBuildSettings.androidCreateSymbol API。

启用符号包生成后,生成项目会生成一个文件,其中包含 和 库的符号文件。如果将脚本后端设置为 IL2CPP,则 还包含库的符号文件。Unity 将此符号包放在输出目录中。.ziplibmainlibunity.ziplibil2cpp

如果在 Android 构建设置中启用导出项目,Unity 不会构建项目。相反,它会导出 Android Studio 的项目,为 和 生成符号,并将它们放在输出目录中。当您从 Android Studio 构建导出的项目时,Gradle 会生成符号文件,并将其放在 and 符号文件旁边的目录中。libmainlibunityunityLibrary/symbols/<architecture>/libil2cppunityLibrary/symbols/<architecture>/libmainlibunity

在谷歌播放管理中心内使用符号

将应用上传到 Google Play 后,您可以为其上传公共符号包。有关如何执行此操作的信息,请参阅 Google 的文档:对崩溃堆栈跟踪进行去混淆处理或符号化处理。

注意:Google Play 不会对应用在您上传符号包之前收到的崩溃进行符号化处理。

3D建模学习工作室整理翻译,转载请标明出处!

上一篇:Unity3d:在安卓设备上调试 (mvrlink.com)

下一篇:Unity3d:Unity Remote (mvrlink.com)

NSDT场景编辑器 | NSDT 数字孪生 | GLTF在线编辑器 | 3D模型在线转换 | UnrealSynth虚幻合成数据生成器 | 3D模型自动纹理化工具
2023 power by nsdt©鄂ICP备2023000829号