Построение Unity с Jenkins - директивы платформы не определены? - PullRequest
0 голосов
/ 05 декабря 2018

Я пытаюсь построить свой проект Unity с помощью Jenkins.

Создан код сборки со следующими вызовами (не все показаны):

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);

Когда я вызываю эту сборку из локальная оболочка , сборка работает отлично и создается apk.

Когда я пытаюсь вызвать его из Jenkins с помощью плагина Unity3d, я получаю странную ошибку компиляции, которая, похоже, связана сотсутствующая директива UNITY_ANDROID .Так что в основном код внутри

#if UNITY_ANDROID
...
#endif

не вызывается.

Есть ли какая-то причина, почему, когда мой код компилируется из сборки Jenkins, указанная выше директива (и другие, я полагаю) не определеныавтоматически

1 Ответ

0 голосов
/ 06 декабря 2018

Таким образом, я смог решить эту проблему методом проб и ошибок.

Похоже, что когда я запускал сборку с -projectPath , Unity не распознает платформу и не устанавливаетдиректива.

Добавление командной строки -buildTarget Android к сборке решает эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...