当 symbol mapping文件不存在时跳过LinkXmlProcess

before-split
walon 2025-05-29 11:07:29 +08:00
parent febb8c9fd8
commit 5ce7b9b5f4
1 changed files with 7 additions and 1 deletions

View File

@ -42,6 +42,12 @@ namespace Obfuz.Unity
public static string GenerateAdditionalLinkXmlFile(BuildTarget target) public static string GenerateAdditionalLinkXmlFile(BuildTarget target)
{ {
ObfuzSettings settings = ObfuzSettings.Instance; ObfuzSettings settings = ObfuzSettings.Instance;
string symbolMappingFile = settings.symbolObfusSettings.symbolMappingFile;
if (!File.Exists(symbolMappingFile))
{
Debug.LogWarning($"Symbol mapping file not found: {symbolMappingFile}. Skipping link.xml generation.");
return null;
}
string linkXmlPath = settings.GetObfuscatedLinkXmlPath(target); string linkXmlPath = settings.GetObfuscatedLinkXmlPath(target);
FileUtil.CreateParentDir(linkXmlPath); FileUtil.CreateParentDir(linkXmlPath);
@ -49,12 +55,12 @@ namespace Obfuz.Unity
new System.Xml.XmlWriterSettings { Encoding = Encoding.UTF8, Indent = true }); new System.Xml.XmlWriterSettings { Encoding = Encoding.UTF8, Indent = true });
try try
{ {
var symbolMapping = new LiteSymbolMappingReader(symbolMappingFile);
string[] linkGuids = AssetDatabase.FindAssets("t:TextAsset"); string[] linkGuids = AssetDatabase.FindAssets("t:TextAsset");
var linkXmlPaths = linkGuids.Select(guid => AssetDatabase.GUIDToAssetPath(guid)) var linkXmlPaths = linkGuids.Select(guid => AssetDatabase.GUIDToAssetPath(guid))
.Where(f => Path.GetFileName(f) == "link.xml") .Where(f => Path.GetFileName(f) == "link.xml")
.ToArray(); .ToArray();
var symbolMapping = new LiteSymbolMappingReader(settings.symbolObfusSettings.symbolMappingFile);
var assembliesToObfuscated = new HashSet<string>(settings.assemblySettings.GetAssembliesToObfuscate()); var assembliesToObfuscated = new HashSet<string>(settings.assemblySettings.GetAssembliesToObfuscate());
writer.WriteStartDocument(); writer.WriteStartDocument();