I would like to perform the android export via command line. The export from the editor works as expected but if I run it via command line I get the following error:
Executed command:
./Unity.exe -batchmode -nographics -logfile C:/tmp/unity.log -projectpath C:/Users/viktor/workspace/swcode/salzwelten-app/unity -executeMethod Assets.Editor.CIBuild.PerformAndroidBuild
Build Script:
public class CIBuild : MonoBehaviour
{
static string[] SCENES = FindEnabledEditorScenes();
[MenuItem("Custom/CI/Build iOS")]
static void PerformIOSBuild()
{
GenericBuild(SCENES, "iOSBuild", BuildTarget.iOS, BuildOptions.None, BuildTargetGroup.iOS);
}
[MenuItem("Custom/CI/Build Android")]
static void PerformAndroidBuild()
{
GenericBuild(SCENES, "androidBuild", BuildTarget.Android, BuildOptions.None, BuildTargetGroup.Android);
}
private static string[] FindEnabledEditorScenes()
{
List<string> EditorScenes = new List<string>();
foreach (EditorBuildSettingsScene scene in EditorBuildSettings.scenes)
{
if (!scene.enabled)
continue;
EditorScenes.Add(scene.path);
}
return EditorScenes.ToArray();
}
static void GenericBuild(string[] scenes, string targetDir, BuildTarget buildTarget, BuildOptions build_options, BuildTargetGroup targetGroup)
{
EditorUserBuildSettings.SwitchActiveBuildTarget(targetGroup, buildTarget);
BuildReport buildReport = BuildPipeline.BuildPlayer(scenes, targetDir, buildTarget, build_options);
if (buildReport.summary.result == BuildResult.Succeeded)
{
Debug.Log("Build succeeded");
EditorApplication.Exit(0);
}
if (buildReport.summary.result == BuildResult.Failed)
{
Debug.Log("Build failed");
EditorApplication.Exit(1);
}
}
}
The full build log is attached to the post.
6746485–777766–buildlog.txt (58.6 KB)