我正在尝试使用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构建中编译我的代码时,上述指令(以及我猜想的其他指令)没有自动定义?
答案 0 :(得分:0)
所以我能够通过反复试验解决这一问题。
当我使用 -projectPath 运行构建时,Unity无法识别平台并设置指令。
在构建中添加 -buildTarget Android 命令行即可解决此问题。