60 lines
1.8 KiB
C#
60 lines
1.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using AlicizaX.Editor;
|
|
using AlicizaX.Runtime;
|
|
using UnityEditor;
|
|
using UnityEngine;
|
|
|
|
public static class AppBuildHelper
|
|
{
|
|
private const string _entryScene = "Assets/Scenes/Main.unity";
|
|
|
|
|
|
public static void BuildApplication(AppBuildParameter appBuildParameter)
|
|
{
|
|
if (!Directory.Exists(appBuildParameter.outPutPath))
|
|
{
|
|
Directory.CreateDirectory(appBuildParameter.outPutPath);
|
|
}
|
|
|
|
Debug.Log("Starting build application");
|
|
|
|
BuilderGenerate.GeneratAppBuilderSetting(appBuildParameter.language, appBuildParameter.showDebugWnd, appBuildParameter.resMode);
|
|
|
|
Debug.Log("Generate AppBuilderSetting.bytes");
|
|
|
|
|
|
try
|
|
{
|
|
var options = new BuildPlayerOptions
|
|
{
|
|
scenes = new[] { _entryScene },
|
|
locationPathName = Path.Combine(appBuildParameter.outPutPath, appBuildParameter.fileName),
|
|
target = appBuildParameter.buildTarget,
|
|
options = appBuildParameter.developBuild ? BuildOptions.Development : BuildOptions.None
|
|
};
|
|
|
|
var report = BuildPipeline.BuildPlayer(options);
|
|
HandleBuildReport(report);
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
Debug.Log($"构建过程中发生异常: {e.Message}");
|
|
}
|
|
}
|
|
|
|
private static void HandleBuildReport(UnityEditor.Build.Reporting.BuildReport report)
|
|
{
|
|
if (report.summary.result == UnityEditor.Build.Reporting.BuildResult.Succeeded)
|
|
{
|
|
Debug.Log($"整包构建完成:${report.summary.outputPath}");
|
|
}
|
|
else
|
|
{
|
|
Debug.Log($"错误信息: {report.SummarizeErrors()}");
|
|
}
|
|
}
|
|
}
|