使用命令行

时间:2015-11-10 00:29:11

标签: unity3d command-line-arguments

查看Unity Command Line选项和Unity API参考手册的文档,我无法找到将Unity项目导出到Android Studio项目的方法。 http://docs.unity3d.com/Manual/CommandLineArguments.html

有一个用于构建android项目BuildTarget.Android的API调用 但我希望将其导出为Google Android项目,可以从构建设置手动完成。

pic

1 个答案:

答案 0 :(得分:2)

您必须在Unity 3d中创建以下脚本文件,将其放在资产的编辑器子文件夹中。

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;


public class CIEditorScript
{
    static string[] SCENES = FindEnabledEditorScenes ();

    static string APP_NAME = "LuauUnity";
    static string TARGET_DIR = "target";

    [MenuItem ("Custom/CI/Build iOS")]
    static void PerformIOSBuild ()
    {
        GenericBuild (SCENES, TARGET_DIR + "/ios/", BuildTarget.iOS, BuildOptions.None);
    }

    [MenuItem ("Custom/CI/Build Android")]
    static void PerformAndroidBuild ()
    {
        GenericBuild (SCENES, TARGET_DIR + "/android/", BuildTarget.Android, BuildOptions.AcceptExternalModificationsToPlayer);
    }

    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 target_dir, BuildTarget build_target, BuildOptions build_options)
    {
        EditorUserBuildSettings.SwitchActiveBuildTarget (build_target);
        string res = BuildPipeline.BuildPlayer (scenes, target_dir, build_target, build_options);
        if (res.Length > 0) {
            throw new Exception ("BuildPlayer failure: " + res);
        }
    }
}

请点击此处:https://gist.github.com/alexsorokoletov/531738ce8e5681437f6d

之后,您可以运行以下命令行(适用于Android)

$UNITYCMD -batchmode -nographics -silent-crashes -projectpath $PROJECTPATH -logfile $U3DLOGFILE -executeMethod CIEditorScript.PerformAndroidBuild -quit

或iOS版

$UNITYCMD -batchmode -nographics -silent-crashes -projectpath $PROJECTPATH -logfile $U3DLOGFILE -executeMethod CIEditorScript.PerformIOSBuild -quit

其中:

$ UNITYCMD是Unity应用程序文件或可执行文件,

$ PROJECTPATH是Unity项目的路径

$ U3DLOGFILE是Unity构建日志文件的路径

相关问题