【发布时间】:2022-01-23 14:50:48
【问题描述】:
当我尝试在播放控制台上上传我的 symbols.zip 文件时,这个错误消息来了,请帮助我解决这个“本机调试符号包含无效的目录符号。仅支持 Android ABI” - 统一
【问题讨论】:
-
zip文件的目录是什么?
标签: android unity3d google-play-console
当我尝试在播放控制台上上传我的 symbols.zip 文件时,这个错误消息来了,请帮助我解决这个“本机调试符号包含无效的目录符号。仅支持 Android ABI” - 统一
【问题讨论】:
标签: android unity3d google-play-console
默认情况下,Unity 生成的调试符号 zip 不符合 Google Play 的预期。不过只要你准确地按照这些步骤,它很容易纠正。
第 1 步:备份
在继续之前备份原始的symbols.zip 文件!你想保留它以防将来需要它。虽然在实践中我从来没有发现需要它,但最好是安全的。我通常将其解压缩,然后使用 7-Zip 将其重新压缩到更小的文件管理器中。
第 2 步:解压缩符号并修复它们
将symbols.zip解压到一个单独的文件夹中。
根据您是否支持较旧的 32 位 arm cpus,您应该在其中找到一两个文件夹,称为“arm64-v8a”和/或“armeabi-v7a”。
对于每个文件夹;
有时文件名不同,在这种情况下
第 3 步:压缩您的新符号
选择文件夹并压缩它们。
在 Windows 上,您可以简单地使用右键单击 - 发送到 - 压缩(压缩)文件夹,但我使用 7-Zip 通过“添加到存档”使用具有高压缩级别的 zip 格式。
重要 您必须确保 zip 目录结构与 Unity 生成的原始 symbols.zip 的目录结构相匹配。也就是说,两个文件夹在 zip 文件中都是“松散的”,它们不是父文件夹的子文件夹!
例如,而不是有一个 zip 的
MyApp-1.0.2-v2.symbols / arm64-v8a / libil2cpp.sym.so
你可能会得到
MyApp-1.0.2-v2.symbols/MyApp-1.0.2-v2.symbols / arm64-v8a / libil2cpp.sym.so
第 4 步:重命名新压缩的文件
重命名新压缩的文件以匹配原始 Unity 生成的 symbols.zip 文件的名称。
第 5 步:上传您的新 Symbols.zip
您应该能够将 symbols.zip 上传到 Play 管理中心而不会出错。
如果确实出现错误,请对照 Unity 中的原始压缩文件仔细检查 zip。确保文件名完全匹配并确保目录结构匹配!
如果您仍然有错误,您可能还需要在两个文件夹中将“libunity.sym.so”重命名为“libunity.so”——尽管关于此的报告相互矛盾,而我从来没有这样做过。
需要注意的是,Unity 对 zip 的默认压缩设置很差,生成的文件非常大,压缩率很差。当您按照上述步骤重新压缩符号时,它应该小得多。例如,我经常从 Unity 获得 1GB 的 debug.symbol.zip,但在执行上述步骤后最终只有大约 150MB 的 zip 文件。
【讨论】: