包含此页的版本:
不含此页的版本:
要在命令行界面 (CLI) 上为嵌入式 Linux 系统构建 Unity 项目,您必须在构建主机上安装 Unity 编辑器。生成主机可以是 Linux、Windows 或 macOS 计算机。
以下示例使用可执行文件 (Unity),但您可以将其替换为首选构建主机作系统的等效可执行文件。
指示 Unity 以 CLI 模式启动并在<path-to-unity-project-root>对于嵌入式 Linux,请运行以下命令:
Unity -quit -batchmode -nographics -buildTarget EmbeddedLinux -executeMethod Builder.Build -projectPath <path-to-unity-project-root>
构建过程还调用函数Builder.Build以继续构建设置过程。
您可以将示例构建脚本Assets/Editor/用于从命令行构建项目。使用-executeMethod选项调用Build()方法,用于设置构建选项并触发构建。
有关更多信息,请参阅BuildPipeline.BuildPlayerAPI 文档.
using UnityEditor;
using UnityEditor.Build.Reporting;
using UnityEngine;
public class Builder
{
private static void BuildEmbeddedLinux(EmbeddedLinuxArchitecture architecture)
{
// Set architecture in BuildSettings
EditorUserBuildSettings.selectedEmbeddedLinuxArchitecture = architecture;
// Setup build options (e.g. scenes, build output location)
var options = new BuildPlayerOptions
{
// Change to scenes from your project
scenes = new[]
{
"Assets/Scenes/SampleScene.unity",
},
// Change to location the output should go
locationPathName = "../EmbeddedLinuxPlayer/",
options = BuildOptions.CleanBuildCache | BuildOptions.StrictMode,
target = BuildTarget.EmbeddedLinux
};
var report = BuildPipeline.BuildPlayer(options);
if (report.summary.result == BuildResult.Succeeded)
{
Debug.Log($"Build successful - Build written to {options.locationPathName}");
}
else if (report.summary.result == BuildResult.Failed)
{
Debug.LogError($"Build failed");
}
}
// This function will be called from the build process
public static void Build()
{
// Build EmbeddedLinux ARM64 Unity player
BuildEmbeddedLinux(EmbeddedLinuxArchitecture.Arm64);
}
}