使用Jenkins构建Unity-未定义平台指令?

时间:2018-12-05 20:15:27

标签: android unity3d jenkins

我正在尝试使用Jenkins构建我的Unity项目。

通过以下调用创建了BuildScript(未全部显示):

BuildPlayerOptions options = new BuildPlayerOptions();
options.scenes = new string[] { "Assets/game.unity" };
options.targetGroup = BuildTargetGroup.Android;
options.target = BuildTarget.Android;
options.locationPathName = "/Users/Admin/my.apk";

BuildPipeline.BuildPlayer(options);

当我从本地shell 调用此版本时,该版本运行良好,并创建了一个APK。

当我尝试使用Unity3d插件从Jenkins调用它时,出现一个奇怪的编译错误,该错误似乎与缺少的 UNITY_ANDROID 指令有关。所以基本上在里面的代码

#if UNITY_ANDROID
...
#endif

不被叫。

为什么从Jenkins构建中编译我的代码时,上述指令(以及我猜想的其他指令)没有自动定义?

1 个答案:

答案 0 :(得分:0)

所以我能够通过反复试验解决这一问题。

当我使用 -projectPath 运行构建时,Unity无法识别平台并设置指令。

在构建中添加 -buildTarget Android 命令行即可解决此问题。