从命令行构建 Unity 项目
要在命令行界面 (CLI) 上为 QNX 系统构建 Unity 项目,您必须在构建主机上安装 Unity 编辑器。构建主机必须运行 Linux 操作系统,并且还必须安装 QNX SDK。有关更多信息,请参阅 安装 QNX。
以下示例使用可执行文件的 Linux 变体 (Unity
),但您可以将其替换为首选构建主机的操作系统的等效可执行文件。
命令行参数
先决条件
在使用命令行构建项目之前,请确保您已按照以下说明进行操作
- 根据 此页面 设置
QNX_TARGET
和QNX_HOST
。
要指示 Unity 在 CLI 模式下启动并在 <path-to-unity-project-root>
为 QNX 构建项目,请运行以下命令
Unity -quit -batchmode -nographics -buildTarget QNX -executeMethod Builder.Build -projectPath <path-to-unity-project-root>
构建过程还会调用函数 Builder.Build
以继续构建设置。
构建脚本
您可以将示例构建脚本添加到 Assets/Editor/
中,以便从命令行构建项目。使用 -executeMethod
选项调用此类的 Build()
方法,该方法设置构建选项并触发构建。
有关更多信息,请参阅 BuildPipeline.BuildPlayer
的 文档。
using UnityEditor;
using UnityEditor.Build.Reporting;
using UnityEngine;
public class Builder
{
private static void BuildQNX(QNXOsVersion qnxVersion, QNXArchitecture architecture)
{
// Set QNX version in BuildSettings
EditorUserBuildSettings.selectedQnxOsVersion = qnxVersion;
// Set architecture in BuildSettings
EditorUserBuildSettings.selectedQnxArchitecture = 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 = "../QNXPlayer/",
options = BuildOptions.CleanBuildCache | BuildOptions.StrictMode,
target = BuildTarget.QNX
};
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 QNX 7.1 ARM64 Unity player
BuildQNX(QNXOsVersion.Neutrino71, QNXArchitecture.Arm64);
}
}