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



我正试图与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构建编译时,上面的指令(我想还有其他指令(没有自动定义,这有什么原因吗?

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

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

-buildTargetAndroid命令行添加到构建中,解决了这个问题。

最新更新